将IpRange值动态添加到输入

时间:2013-01-21 18:58:40

标签: javascript html

我想添加一个输入字段,用户可以输入/修改IP地址,格式为198.162.0.0/45,表示范围为198.162.0.0 - 198.162.0.45

我几乎可以工作,但它不允许完整正确的格式。如果我输入以下任何一项,它可以正常工作。 198 / 45,198.168或198.168.0.45

但是一旦我尝试添加 198.168.0 / 24或198.168.0.0/24

我希望能够添加198.168.0.0/24,而不必分解字段,但如果必须,我可以。

当我的动态元素被附加到包含输入字段的div标记时,它会出现脚本错误。

基本上我的设置是这个,空div标签我将附加以下内容。 newIpRange以198.168.0.0/24之类的字符串形式出现 使用测试html编辑产生问题

<html>
<head>
<title>Test IP</title>

<script type="text/javascript">

function onload(range){

var e = document.getElementById("_main");
e.innerHTML = getTag(range);

}

function getTag(range){
return "<div class='input-append'  ><input  type='text' value='" + range + "' ></input><div>";
}

</script>
</head>
<body onload="onload(198.168.1.0/24);">
<div id="_main" >

</div>
</body>
</html>

会导致什么?对我来说真正感兴趣的是它为什么在某些情况下给出错误,而不是其他情况

以下是我在添加此行时从脚本中获得的错误:SCRIPT1006:预期')'

1 个答案:

答案 0 :(得分:0)

花了一点时间我做的样本我终于实现了,它是如何解析这些值的javascript。

在10.12 / 24的情况下,它将其评估为具有分部的数字 只要我在那里添加额外的句号,它就不能再将它作为一个数字进行评估,解决将它放入字符串文字清理所有内容的问题!

解决这个问题我把ipcallback放到一对单引号中告诉javascript它是一个字符串

<script>
</head>
<body onload="onload('198.168.1.0/24');">
<div id="_main" >