正如标题所暗示的那样,当尝试测试一个基本脚本时,我会不断收到该错误,该脚本将“读取”表单输入并使它们成为变量以供以后使用。

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);
}


您可能会告诉我,我对这一切确实很陌生,但似乎无法弄清楚,任何帮助都值得赞赏。

谢谢,

最佳答案

当您进行递归调用时,您会收到这类消息,并会陷入循环中的某处。在您的情况下,将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()">

关于javascript - 未捕获的范围错误尝试从表单输入JS进行变量设置时,超出了最大调用堆栈,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45664565/

10-09 14:34