无法获取在弹出文本框中输入的值
Can't get value entered in popup textbox
我有一个使用 JQuery UI 创建的弹出窗口 window。单击配置按钮时它会打开:
当我单击随机 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 代码中的小错误:
- 对于您的计算按钮,按钮 ID 和功能具有相同的值 即。
[计算] 因为你的函数没有调用。
- 你提供了onclick但应该是[onClick],"C"必须大写.
否则,一切都很好。
****更正*
- 将 [onclick] 更改为 [onClick]。
- 只需将 ["calculate()"] 的第一个字母设为 ["Calculate()"].
*** Overall solution:
简单的 JavaScript 代码给你 JQuery 代码:
用这个 JavaScript 代码替换你的 JQuery 代码:)
============================================= =====================
<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>
从分享的代码中我观察到了一些要点。您在点击时调用的函数在您的 js 中不可用,并且还编写了 jquery 点击函数,这会导致点击函数发生冲突。
这是你的 senario 的副本
求助:)
我有一个使用 JQuery UI 创建的弹出窗口 window。单击配置按钮时它会打开:
当我单击随机 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 代码中的小错误:
- 对于您的计算按钮,按钮 ID 和功能具有相同的值 即。 [计算] 因为你的函数没有调用。
- 你提供了onclick但应该是[onClick],"C"必须大写.
否则,一切都很好。
****更正*
- 将 [onclick] 更改为 [onClick]。
- 只需将 ["calculate()"] 的第一个字母设为 ["Calculate()"].
*** Overall solution:
简单的 JavaScript 代码给你 JQuery 代码: 用这个 JavaScript 代码替换你的 JQuery 代码:)
============================================= =====================
<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>
从分享的代码中我观察到了一些要点。您在点击时调用的函数在您的 js 中不可用,并且还编写了 jquery 点击函数,这会导致点击函数发生冲突。
这是你的 senario 的副本
求助:)