网络齿轮脚本

时间:2018-10-08 04:33:23

标签: javascript

作为一位长期的网络工程师,至少可以说Javascript一直是一个挑战。我正在寻找使用HTML和Javascript创建用于进行网络设备配置的模板。 HTML部分非常基础。只是带有输入字段和按钮的表单:

<body>
<form id="form1">
  <label for="siteCode">Site Code: </label>
  <input type="text" id="siteCode" name="name" placeholder="ex. HEN" required="required"/><br>

按钮用于调用名为“ makeConfig”的Javascript函数

当尝试从HTML获取“ siteCode” ID时,我遇到了一个问题:

var siteCode = document.getElementById("siteCode");

function makeConfig() {
    var myWindow = window.open("", "MsgWindow", "width=1000,height=850");

    myWindow.document.write("service nagle<br>no service pad<br>service tcp-keepalives-in<br>service tcp-keepalives-out<br>");

    myWindow.document.write("service timestamps debug datetime localtime show-timezone<br>service timestamps log datetime localtime show-timezone");

    myWindow.document.write("service password-encryption<br>service compress-config<br>!<br>");

    myWindow.document.write("hostname P" + siteCode + "A01M01UAA<br>!<br>");
}

最后一行始终为null生成一个siteCode值。我认为这很简单,但是我正在空白。预先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

siteCode将是对元素的DOM(文档对象模型)节点的引用;其中包含一堆您可能不想打印的对象和属性。

相反;您可能想要用户输入的文本。为了那个原因;你可以做类似的事情

myWindow.document.write("hostname P" + siteCode.value + "A01M01UAA<br>!<br>");

注意,我们正在获得它的价值(siteCode.value);而不只是原始元素。


对于这样的事情;另一个常见的错误是JavaScript可能在页面其余部分加载之前就已运行;因此该元素可能根本还没有加载。但是,由于您已将其放入函数中;因此,我假设这不是这里发生的事情;并且仅当用户按下按钮时才运行它;等等。可能需要检查一下。