我想添加一个输入字段,用户可以输入/修改198.162.0.0/45格式的IP地址,代表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:预期为')'

最佳答案

在花了一点时间来处理示例之后,我终于意识到了javascript如何解析值。

在10.12 / 24的情况下,将其评估为带有除法的数字
一旦我在其中添加了多余的句点,它就不能再将其作为数字来求值了,以解决将其放在字符串文字中清理所有内容的麻烦!

为了解决这个问题,我将ipcallback放在一对单引号中,以告诉javascript其字符串

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

关于javascript - 添加IpRange值以动态输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14445371/

10-12 12:18