我在TD中有一个图标
<tr>
<td><input type="checkbox" class="cd" value="'+currPat.id+'"/></td>
<td><b>' + currPat.question + '</b><input type="text" class="saveEdit" value="'+currPat.question+'" style="display:none" /><i class="glyphicon glyphicon-edit pull-right" onclick="editable(this)"></i><i class="glyphicon glyphicon-save pull-right" style="display:none" onclick="saveEdit(this)"></i><i class="glyphicon glyphicon-trash pull-right" onclick="deleteQuestion('+currPat.id+')"></i></td>
<td>
<select name="questionType" id="questionType" class="qType QSelect">
<option value="">--Select--</option>
</select>
</td>
<td width="35%" class="Fsize12 out" id=a'+ currPat.id +'><a href="#" class="checkbox-inline" onclick="getModal(this)">Get Options</a></td>
<td><input type=hidden id=optionInputa'+currPat.id+' type=text/></td>
</tr>
在上面的td中,有一个图标
<i class="glyphicon glyphicon-save pull-right" style="display:none" onclick="saveEdit(this)"></i>
和这个saveEdit函数function saveEdit(qid)
{
var questionName=$('.saveEdit').val();
alert(questionName);
$.ajax({
type: "POST",
url: projectUrl+"saveEdit",
data:{question:questionName,questionID:qid},
success:function (data1) {
location.reload();
}
});
}
每当我单击保存编辑图标时,就会出现以下错误
Uncaught RangeError: Maximum call stack size exceeded
控制到警报线
var questionName=$('.saveEdit').val();
alert(questionName);
因为我发出警报,但是之后出现错误并且它不会将数据发送到服务器
有人可以告诉我可能是什么问题吗?
最佳答案
当您的函数(递归或带有循环)导致无限循环时,总是会出现此错误。您的函数(saveEdit)极有可能导致某种无限循环,并且控制台会引发异常。
我将赌注押在您的saveEdit函数上,它被无休止地递归调用,这就是您收到错误的原因。
关于javascript - 未捕获的RangeError:浏览器控制台中超出了最大调用堆栈大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23991629/