我有一个带有javascript和多个表单请求用户输入的网页。由于网页太忙,我试图将javascript分离到它自己的页面。
我页面的示例代码,
<body <script type="application/javascript">
function Opencorporates(selection){ window.open("https://api.opencorporates.com/v0.4/companies/search?q="+selection.value+"&format=xml") }
</script>
<form onsubmit="Opencorporates(query)">
<h2>Opencorporates:</h2> <input type="text" placeholder="Company Check" name="query"><input type="submit" value="submit">
</form>
<script src="javascript_samples.js"></script>
</body>
我尝试调用JavaScript是不成功的。
我保存了javascripts javascript_samples.js
,但我无法让查询生效。
function Opencorporates(selection) {
window.open("https://api.opencorporates.com/v0.4/companies/search?q=" + selection.value + "&format=xml");
}
我不确定如何从网页调用已保存的脚本。
<body>
<form name="search" onsubmit="return Opencorporates();">
<input type="text" placeholder="OPenCorpo" name="query">
<input type="submit" name="submit" value="submit"></form>
<script src="javascript_samples.js"></script>
</body>
我对javascript的经验水平有限/初学者。 “dummies指南”风格的回复将不胜感激。
答案 0 :(得分:0)
回答(有点)
好的,经过一些挖掘后我发现了问题。但是我会坚持解决方案,而是给你一些建议;这是学习如何调试代码。这是编码过程中不可或缺的一部分。要调试Html和Javascript,Chrome开发人员工具是您最好的朋友。请花一些时间阅读教程并阅读chrome debugger documentation。一旦你对这些工具的工作方式有了基本的了解,你就应该能够解决这个bug以及将来的其他bug。
需要考虑
我希望您考虑此代码中的另一个错误。它不是一个明显的错误,但它是一个错误,可能会导致您的雇主或客户(这个代码的任何人)受到一些损害。考虑这一行:
window.open("https://api.opencorporates.com/v0.4/companies/search?q="+selection.value+"&format=xml")
请注意,+selection.value+
表示无论用户在文本框中输入什么内容,都会将输出原始输出到查询中。这意味着有动力的黑客可以使用名为Cross Site Scripting or XSS的黑客技术。我建议阅读有关与网络安全有关的OWASP top 10 security vulnerabilities。
答案 1 :(得分:-1)
<body>
<form name="search" onsubmit = "return Opencorporates();">
<input type="text" placeholder="OPenCorpo" name="query">
<input type = "submit" name="submit" value = "submit" ></form>
<script src="~/javascript_samples.js"></script>
</body>