2017-08-13 43 views
1

正如標題所暗示的,當我嘗試測試一個基本腳本時,我會一直收到這個錯誤,它會「讀取」表單輸入並使它們變量使用稍後的。未捕獲的範圍錯誤嘗試從窗體輸入變量時超出最大調用堆棧JS

HTML:

<script type="text/javascript" language="javascript" 
    src="./js/lisearch.js"></script> 
    <form name="search" action="" method="post"> 
     <h2>Include:</h2> 
     <div id="formtitle" class="formdiv"> 
     <p> Current Job Title:</p><input id="jtitle" type="text" name="jobtitle" placeholder="Demand planner, Supply planner"> 
     </div> 
     <div id="formcompany" class="formdiv"> 
     <p> Current Company:</p><input id="cmpy" type="text" name="company" placeholder="GSK OR Danone"> 
     </div> 
     <div id="formkeywords" class="formdiv"> 
     <p> Keywords:</p><input id="kwrd" type="text" name="keywords" placeholder="(SAP OR JDE) AND FMCG"> 
     </div> 
     <div id="formfirst" class="formdiv"> 
     <p> First Name:</p><input id="fname" type="text" name="first"> 
     </div> 
     <div id="formlast" class="formdiv"> 
     <p> Last Name:</p><input id="lname" type="text" name="last"> 
     </div> 
     <hr> 
     <h2> Exclude:</h2> 
     <div id="formnottitle" class="formdiv"> 
     <p> Current Job Title:</p><input id="njtitle" type="text" name="notjobtitle" placeholder="Manager OR Consultant"> 
     </div> 
     <div id="formnotcompany" class="formdiv"> 
     <p> Current Company:</p><input id="ncmpy" type="text" name="notcompany" placeholder="Coke OR Pepsi"> 
     </div> 
     <div id="formnotkeywords" class="formdiv"> 
     <p> Keywords:</p><input id="nkwrd" type="text" name="notkeywords" placeholder="Recruiter OR Recruitment"> 
     </div> 
     <div id="submit" class="formdiv"> 
     <input type="button" value="Create Search" onclick="onclick()"> 
     </div> 
     <div id="output" class="formdiv"> 
     <input type="text" name="output"> 
     </div> 
    </form> 

JS:

var company; 
var jobtitle; 
var keywords; 
var fname; 
var lname; 
var notcompany; 
var notjobtitle; 
var notkeywords; 
function onclick() { 
    company = document.getElementById('cmpy').value; 
    jobtitle = document.getElementById('jtitle').value; 
    keywords = document.getElementById('kwrd').value; 
    fname = document.getElementById('fname').value; 
    lname = document.getElementById('lname').value; 
    notcompany = document.getElementById('ncmpy').value; 
    notjobtitle = document.getElementById('njtitle').value; 
    notkeywords = document.getElementById('nkwrd').value; 
    test(); 
} 
function test() { 
    alert(company + jobtitle + keywords + fname + lname + notcompany + notjobtitle + notkeywords); 
} 

正如你可能會說我真的很新的這一切,但似乎無法弄清楚這一點,任何幫助表示讚賞。

謝謝你,在你的js代碼頂級

回答

0

這種消息的做遞歸調用,並得到一個週期的某個地方卡住,當你得到。在你的情況下,將onclick()函數重命名爲其他內容,就是這樣! 在這裏,我做了一個plunker

function toto() { 
    company = document.getElementById('cmpy').value; 
    jobtitle = document.getElementById('jtitle').value; 
    keywords = document.getElementById('kwrd').value; 
    fname = document.getElementById('fname').value; 
    lname = document.getElementById('lname').value; 
    notcompany = document.getElementById('ncmpy').value; 
    notjobtitle = document.getElementById('njtitle').value; 
    notkeywords = document.getElementById('nkwrd').value; 
    test(); 
} 
function test() { 
    alert(company + jobtitle + keywords + fname + lname + notcompany + notjobtitle + notkeywords); 
} 

<input type="button" value="Create Search" onclick="toto()"> 
+0

由於已經做到了!我應該真正閱讀「保留字」 – Mike

+0

太棒了!並歡迎你:) – Vega

+0

我會做,但因爲我有不到15代表它不記錄我upvotes :( – Mike

0

放功能測試,這樣的onclick()知道它是什麼事件處理程序分配時。 編輯:其他反饋信息: 甚至不需要測試功能。只需將警報代碼插入onclick功能即可。 編輯:移動腳本標記實際上不應該有任何效果。我不確定這裏發生了什麼問題。 編輯:解決它

<form name="search" action="" method="post"> 
     <h2>Include:</h2> 
     <div id="formtitle" class="formdiv"> 
     <p> Current Job Title:</p><input id="jtitle" type="text" name="jobtitle" placeholder="Demand planner, Supply planner"> 
     </div> 
     <div id="formcompany" class="formdiv"> 
     <p> Current Company:</p><input id="cmpy" type="text" name="company" placeholder="GSK OR Danone"> 
     </div> 
     <div id="formkeywords" class="formdiv"> 
     <p> Keywords:</p><input id="kwrd" type="text" name="keywords" placeholder="(SAP OR JDE) AND FMCG"> 
     </div> 
     <div id="formfirst" class="formdiv"> 
     <p> First Name:</p><input id="fname" type="text" name="first"> 
     </div> 
     <div id="formlast" class="formdiv"> 
     <p> Last Name:</p><input id="lname" type="text" name="last"> 
     </div> 
     <hr> 
     <h2> Exclude:</h2> 
     <div id="formnottitle" class="formdiv"> 
     <p> Current Job Title:</p><input id="njtitle" type="text" name="notjobtitle" placeholder="Manager OR Consultant"> 
     </div> 
     <div id="formnotcompany" class="formdiv"> 
     <p> Current Company:</p><input id="ncmpy" type="text" name="notcompany" placeholder="Coke OR Pepsi"> 
     </div> 
     <div id="formnotkeywords" class="formdiv"> 
     <p> Keywords:</p><input id="nkwrd" type="text" name="notkeywords" placeholder="Recruiter OR Recruitment"> 
     </div> 
     <div id="submit" class="formdiv"> 
     <input type="button" id="onclick" value="Create Search"/> 
     </div> 
     <div id="output" class="formdiv"> 
     <input type="text" name="output"/> 
     </div> 
    </form> 
    <script type="text/javascript"> 
var company; 
var jobtitle; 
var keywords; 
var fname; 
var lname; 
var notcompany; 
var notjobtitle; 
var notkeywords; 
document.getElementById("onclick").onclick=function() { 
    company = document.getElementById('cmpy').value; 
    jobtitle = document.getElementById('jtitle').value; 
    keywords = document.getElementById('kwrd').value; 
    fname = document.getElementById('fname').value; 
    lname = document.getElementById('lname').value; 
    notcompany = document.getElementById('ncmpy').value; 
    notjobtitle = document.getElementById('njtitle').value; 
    notkeywords = document.getElementById('nkwrd').value; 
    alert(company + jobtitle + keywords + fname + lname + notcompany + notjobtitle + notkeywords); 
} 
     </script> 
+0

這仍然給出了同樣的錯誤,即使測試功能在頂部 – Mike

相關問題