我有一个ajax调用,它传递到文本区域长度以下的javascript +。当用户插入的新注释的长度小于100时,会在脚本中添加新的rowgets。当长度大于100时,它会继续到另一个语句,并且不会添加一行。
<script>
function hideform(length) {
var len = length;
if (len <= '100') {
var table = document.getElementById("comments");
var row = table.insertRow(0);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
cell1.innerHTML = "TIME";
cell2.innerHTML = "<p id='commentsaved'></p>";
}
if (len > '100') {
document.getElementById("Lengtherror").innerHTML = "<p>COMMENT TOO LONG</p>";
}
}
</script>
一切都很完美,除非我首先插入评论&lt; 100并插入长评论。基本上会发生什么:
-I插入简短注释:脚本运行并进入if(len&lt; ='100')。行被添加。
-NEXT,我插入注释&gt; 100,脚本再次运行,但会发生的是:
- 我得到了COMMENT TOO LONG警告,但是:一个新行被插入到表中,就好像(len&lt; ='100')正在运行一样。为什么是这样??感谢
如果我插入评论的顺序是:LONG,那么SHORT,一切都会正常运行
答案 0 :(得分:0)
似乎有效...... The JSFiddle here 我已经更正了“if”以进行正确的比较(int / int而不是int / string)。
function hideform(length) {
var len = length;
if (len <= 100) {
var table = document.getElementById("comments");
var row = table.insertRow(0);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var d = new Date();
cell1.innerHTML = "TIME " + d.getSeconds() + '/' + d.getMinutes();
cell2.innerHTML = "<p id='commentsaved'></p>";
}
if (len > 100) {
var d = new Date();
document.getElementById("Lengtherror").innerHTML = "<b><p>COMMENT TOO LONG</p>" + " at TIME " + d.getSeconds() + '/' + d.getMinutes() + "</b>";
}
}