繁体   English   中英

将HTML值传递给JavaScript函数

[英]Passing HTML value into JavaScript function

我知道这个问题已经被问过了。

但是,当我按照给出的答案回答时,它是行不通的。

这是我的JS函数和相关的HTML

 function myFunction() { document.getElementById("submit").innerHTML = "LOADING..."; } 
  <input class="textbox" type="number" id="number"> <button onclick="myFunction(document.getElementById("number").value)" class="Button" >Submit</button> <p id="submit"></p> <script type ="text/javascript" src="../src/index.js"></script> 

尝试这个...

获取值,插入函数...。它将显示您的期望输出。

 function myFunction() { var number = document.getElementById("number").value; document.getElementById("submit").innerHTML = "LOADING..."; } 
 <input class="textbox" type="number" id="number"> <button onclick="myFunction()" class="Button" >Submit</button> <p id="submit"></p> <script type ="text/javascript" src="../src/index.js"></script> 

我以为,您在双引号(“)内使用了双引号(”)。 因此,请更改单引号(')内的双引号或双引号(“)中的单引号。 更多的按钮默认类型是Submit ...

更改以下

<button onclick="myFunction(document.getElementById("number").value)" class="Button" >Submit</button>

进入

<button onclick="myFunction(document.getElementById('number').value)" class="Button" >Submit</button>

要么

<button onclick='myFunction(document.getElementById("number").value)' class="Button" >Submit</button>

javascript

function myFunction() {
  document.getElementById("submit").innerHTML = "LOADING...";
}

进入

function myFunction(num) {
      var n = num;//Get the number into your javascript function
      document.getElementById("submit").innerHTML = "LOADING...";
}

 <input class="textbox" type="number" id="number"> <button onclick="myFunction(document.getElementById('number').value)" class="Button" type="button" >Submit</button> <p id="submit"></p> <script type="text/javascript"> function myFunction(num){ var n = num; console.log(n); document.getElementById("submit").innerHTML = "LOADING..."; } </script> 

像之前的答案一样,您需要在“数字”周围使用单引号。 另一件事,您需要在index.js的myFunction(val)中添加参数val。

function myFunction(val) {
    document.getElementById("submit").innerHTML = "LOADING...";
    console.log(val);
}   

奇怪的是,没有答案建议将HTML和JavaScript分开,所以这就是我要做的。 最好不要在HTML中内联JS。

 const button = document.querySelector('button'); button.addEventListener('click', myFunction, false); function myFunction() { console.log(document.getElementById('number').value); document.getElementById("submit").innerHTML = "LOADING..."; } 
 <input class="textbox" type="number" id="number"> <button class="Button">Submit</button> <p id="submit"></p> 

button元素的默认类型为submit (可以,数据将被提交到服务器)。 如果应该在提交之前做一些事情,那么可以这样处理。

 function myFunction(element, evn) { //here you can rename parameters //evn is click event, element is the button clicked evn.preventDefault(); //don't submit form at this moment document.getElementById("submit").innerHTML = "LOADING..."; //now it is safe to submit the form //setTimeout is for demonstration purpose setTimeout(function() { element.form.submit(); }, 1000); } 
 <!-- form tag supposed to be open --> <form method="get" action="."> <input class="textbox" type="number" id="number" name="numData"> <!--name attr is required to send data to the server --> <!-- note the arguments sent to the function. Don't change them --> <button onclick="myFunction(this,event)" class="Button">Submit</button> <!-- form tag may be closed here or later --> </form> <p id="submit"></p> <script type="text/javascript" src="../src/index.js"></script> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM