javascript - 无法获取在弹出文本框中输入的值

标签 javascript jquery jquery-ui textbox

我有一个使用 JQuery UI 创建的弹出窗口。当您单击“配置”按钮时,它将打开:


当我单击随机 IP 按钮时,数组中找到的 IP 列表中的 IP 会随机出现。 这些是它的代码:

代码

/*Random IP generator*/
var textArray = [
    '2001:db8:a0b:12f0::1/48',
    '2001:DB8:C003:1::F00D/48',
    'FEDC:BA98:7654:3210::3/48',
    'FF01::43/48',
    '2FFB:1000:2000:0003::12f0/48',
    '2001:2AC:CAD:0000::/64'
];
var randomNumber = textArray[Math.floor(Math.random() * textArray.length)];

$("#random").click(function () {
    $('#value').val($('#value').val() + randomNumber);
});

这是形式:

代码

<div id="dialogbox" title="IPv6 Calculator">
    <form>
        <center><input type="text" placeholder="IPv6 Address and Netmask" id="value" size="25"/></center>

    </form>
    <p>
    <center>
        <button id="calculate" onclick="calculate()"
                style="background-color:#B4BA22; border-radius:3px; cursor:pointer;">Calculate
        </button>
        <button id="random" onclick="random()" style="border-radius:3px; cursor:pointer;">Random IP</button>
    </center>
    </p>
</div>

在文本框中获取 IP 后,无论是通过手动输入还是使用“随机 IP”按钮,我需要使用此 IP 进行计算,但是当我单击“计算”按钮时,我无法从文本框中获取 IP 。这是计算函数:

$("#calculate").click(function () {
    $("#dialogbox").dialog("close");

    $("#result").dialog("open"); //another popup form opens

    ip = $("#value").val(); //ip declared globally
    $("#result").attr("title", "Result for IP" + ip) //tried to use the value obtained to change the attribute of a textbox but to no avail.
});

我仍然无法从文本框中获取值。有什么帮助吗?

编辑
完整代码:Liveweave

最佳答案

经过 30 分钟的研究,我为 TextBox 输出想出了完美且简单的解决方案。

*** JQuery 代码中的小错误:

  1. 对于您的计算按钮,按钮 ID 和功能具有相同的值 即。 [计算]因此您的函数未调用。
  2. 您提供了onclick,但它应该是[onClick],“C”必须大写

否则,一切都很好。

**** 更正*

  1. 将 [onclick] 更改为 [onClick]。
  2. 只需将 ["calculate()"] 的第一个字母设置为 ["Calculate()"]。
<小时/>

*** Overall solution:

<小时/>

为您提供简单的 JavaScript 代码 JQuery 代码: 将您的 JQuery 代码替换为此 JavaScript 代码:)

================================================== ===================

    <div id="dialogbox" title="IPv6 Calculator">
    <form>
        <center><input type="text" placeholder="IPv6 Address and Netmask"      
         id="value" size="25"/> </center> 
    </form>
    <p>
      <center>
        <button id="calculate" onClick="Calculate()"
                style="background-color:#B4BA22; border-radius:3px; 
                 cursor:pointer;">calculate
        </button>
        <button id="random" onclick="random()" style="border-radius:3px; 
         cursor:pointer;">Random IP</button>
      </center>
    </p>
</div>


<script>
 function Calculate(){
var calc=document.getElementById("value").value;
alert(calc);
}
</script>

关于javascript - 无法获取在弹出文本框中输入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34491754/

相关文章:

jQuery:一个可排序列表,在另一个列表上显示结果

javascript - 提交后会出现提醒信息

javascript - 标记在 select2 中不起作用

javascript - AJAX请求后获取数据

javascript - 触发点击无法与 pickadate.js 一起使用?

Jquery Datepicker 显示当前日期

javascript - $http get 请求在 angularjs/ionic 中没有及时完成

javascript - 如何区分鼠标滚动和通过在 javascript/jQuery 中拖动窗口的滚动来完成滚动

javascript - 从 spring 后端调用/userinfo (auth0)

javascript - 是否可以覆盖 jQuery-ui 可排序小部件的定义选项?