我一直在尝试应用我在Google和Stackoverflow上找到的解决方案,但它们似乎没有用。
这到底出了什么问题?复选框在这里是无关紧要的,我可以把它拿出来,但它没有任何区别。
<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>
编辑:我还应该补充说,如果我在调用pager时只是放一个int参数,例如25,它实际上是有效的。所以结果出了问题。
答案 0 :(得分:2)
而不是使用parseInt
使用parseFloat
,它将像这样工作
results = parseFloat(x);
答案 1 :(得分:0)
js中没有int
,你可以这样做:
var results;
var x=document.getElementById("results").value;
results = /^[\d]+$/.test(x);
if(!results)
results=10;
var pager = new Pager(results);
答案 2 :(得分:0)
技巧是+(element.value),添加|| default_value以防无效或无效。或者添加自己的支票。
<!DOCTYPE html>
<html><head><title>to int()</title>
<script type="text/javascript">
function doResults()
{
var element = document.getElementById('results'),
value = +(element.value) || 0;
// write back the value in case is invalid
element.value = value;
alert("The value is " + value);
}
</script></head>
<body>
<input type="text" id="results" class="form-control" name="results" placeholder="results">
<button onclick="doResults();">Check Results</button>
</body></html>
答案 3 :(得分:0)
使用parseFloat它会像这样工作
<script type="text/javascript">
int results = null;
var x=document.getElementById("results").value;
results = parseFloat(x);
if(results==null)
results=10;
var pager = new Pager(results);
</script>