将文本框值转换为 int

Converting text box value to int

本文关键字:int 转换 文本      更新时间:2023-09-26

我一直在尝试应用我在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>

编辑:我还应该补充一点,如果我在调用寻呼机时只放置一个 int 参数,例如 25,它实际上可以工作。所以结果出了点问题。

而不是使用parseInt使用parseFloat它将像这样工作

results = parseFloat(x);

js中没有int,你可以这样做:

var results;
var x=document.getElementById("results").value;
results = /^['d]+$/.test(x);
if(!results)
    results=10;
var pager = new Pager(results);

诀窍是 +(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>

使用 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>