我有一个使用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
答案 0 :(得分:2)
经过30分钟的重新研究,我为你的TextBox输出提供了完美而简单的解决方案。
*** 您的JQuery代码中的小错误:
否则,一切都很好。
****更正*
***整体解决方案:
简单的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>
答案 1 :(得分:1)