2017-10-12 55 views
0

我有一個網頁,其中包含javascript和多種形式的請求用戶輸入的網頁。由於網頁太忙,我試圖將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的經驗水平是有限的/初學者。一個「假人指南」式的答覆將不勝感激。

+0

'我無法得到查詢工作.' - 控制檯或其他東西的錯誤? – Justinas

+0

您能否包含您的javascript_samples.js文件? –

+0

您需要檢查瀏覽器的開發者控制檯(點擊f12),查看文件是否正在載入以及錯誤是什麼。你可以通過搜索「調試JavaScript教程」找到更具體的說明 – scrappedcola

回答

0

答案(有點)

好吧,做一些挖後,我發現這個問題。然而,我將堅持解決方案,而是給你一些建議;這是學習如何調試你的代碼。這是編碼過程的一個組成部分。爲了調試Html和Javascript,Chrome開發者工具是你最好的朋友。請花一些時間閱讀教程並閱讀chrome debugger documentation。一旦你對這些工具的工作原理有了基本的瞭解,你應該能夠解決這個錯誤以及未來的其他錯誤。

審議

有這個代碼,我想你需要考慮的另一個錯誤。它不是一個明顯的缺陷,但它是一個錯誤,可能會導致你的僱主或客戶(無論這個代碼是什麼)造成一些損害。考慮這條線:

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

+0

感謝您向正確的方向推送。當我們說話時看着Chrome調試器。 – Newbe

-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>

+0

爲什麼'〜/'(我認爲當前用戶目錄)應該有所幫助? – Justinas

+0

打開控制檯,如果沒有問題,請查看源代碼js文件 –

相關問題