我一直在尝试应用我在Google和Stackoverflow上找到的解决方案,但他们似乎没有工作。将文本框的值转换为int
这里究竟出了什么问题?复选框在这里是微不足道的,我可以把它拿出来,但它没有区别。
<div class="form-group">
<label for="tbid" class="col-lg-3 control-label">Results per page </label>
<div class="col-lg-3">
<input type="checkbox" class="checkbox" display="inline-block" name="checkbox_results" onclick="checkbox_results_click();">
<input type="text" id="results" class="form-control" name="results" placeholder="results">
</div>
</div>
然后在js部分,我试图将结果转换为int。
<script type="text/javascript">
int results = null;
var x=document.getElementById("results").value;
results = parseInt(x);
if(results==null)
results=10;
var pager = new Pager(results);
</script>
编辑:我还要补充一点,如果我只是把一个int型参数调用时,寻呼机,像25,例如,它的实际工作。所以结果出了问题。
注ŧ帽子[parseInt](http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.2.2)总是返回一个数字或NaN,两者都不是'== null'。所以测试应该是'if(!isNaN(results))'。另外,parseInt应该和基数一起使用'parseInt(x,10)' – RobG
是的,我一开始就做了x,10,但它似乎没有什么区别。不管什么原因,它都没有进入寻呼机。我现在将它改回 – krikara
基数不会解决您的问题,它只是意味着* results *将被设置为您期望的值。 'parseInt('09')'在某些浏览器中返回'9',在其他浏览器中'1',而'parseInt('09',10)'返回'9'。 – RobG