Javascript JS函数不显示任何内容

Javascript JS函数不显示任何内容,javascript,Javascript,我制作了一个函数并捕获了一个文本框的值。单击按钮时,它应该会提醒该值。 代码是: function substitute (argument) { var myVal=document.getElementById('myTextBox').value(); alert(myVal); if (myVal.length==0) { alert('Empty Textbox'); }; } 然后使用以下命令执行: <input type="b

我制作了一个函数并捕获了一个文本框的值。单击按钮时,它应该会提醒该值。 代码是:

function substitute (argument) {
    var myVal=document.getElementById('myTextBox').value();
    alert(myVal);
    if (myVal.length==0) {
        alert('Empty Textbox');
    };
}
然后使用以下命令执行:

<input type="button" name="Button" value="Click Me" onclick="substitute();">


但什么也没发生。请告诉我哪里做错了。

不是函数,而是属性,因此:

var myVal=document.getElementById('myTextBox').value;

由于您是JS的新手,我给您一条建议:如果您想操作DOM,请使用。

不是函数,而是属性,因此:

var myVal=document.getElementById('myTextBox').value;
由于您是JS的新手,我给您一条建议:如果您想操作DOM,请使用。

您有一些错误:

  • .value()
    不是函数:使用
    .value
  • if
    语句的末尾不需要分号
  • 您的文本框可能没有您所指的
    id
    :确保在开始标记中有
    id=“myTextBox”
  • 虽然它不会导致任何错误,但函数定义会列出一个参数,但在调用它时不会传递一个参数
  • 如果没有发生任何事情,请始终检查浏览器控制台是否存在错误。总是

    function substitute () { // Parameter "argument" is not necessary
        var myVal=document.getElementById('myTextBox').value; //.value, not .value()
        alert(myVal);
        if (myVal.length==0) {
            alert('Empty Textbox');
        }; // You don't need this semicolon
    } // You were missing this curly brace
    
    您有几个错误:

  • .value()
    不是函数:使用
    .value
  • if
    语句的末尾不需要分号
  • 您的文本框可能没有您所指的
    id
    :确保在开始标记中有
    id=“myTextBox”
  • 虽然它不会导致任何错误,但函数定义会列出一个参数,但在调用它时不会传递一个参数
  • 如果没有发生任何事情,请始终检查浏览器控制台是否存在错误。总是

    function substitute () { // Parameter "argument" is not necessary
        var myVal=document.getElementById('myTextBox').value; //.value, not .value()
        alert(myVal);
        if (myVal.length==0) {
            alert('Empty Textbox');
        }; // You don't need this semicolon
    } // You were missing this curly brace
    

    向按钮添加一个ID。当引用按钮时,它不是“.value()”,它只是“.value”

    作为旁注,您应该使用===而不是==进行比较

    function substitute() {
      var myVal=document.getElementById('myTextBox');
      alert(myVal.value);
      if (myVal.value.length===0) {
        alert('Empty Textbox');
      }
    }
    

    向按钮添加一个ID。当引用按钮时,它不是“.value()”,它只是“.value”

    作为旁注,您应该使用===而不是==进行比较

    function substitute() {
      var myVal=document.getElementById('myTextBox');
      alert(myVal.value);
      if (myVal.value.length===0) {
        alert('Empty Textbox');
      }
    }
    

    也许像下面这样

    <script type="text/javascript">
    function substitute() {
    
    var myVal=document.getElementById('myTextBox').value;
    if (myVal.length>0) {
    alert(myVal);
    }
    if (myVal.length==0) {
        alert('Empty Textbox');
    }
    }
    </script>
    <input type="button" name="Button" value="Click Me" onclick="substitute();">
    <textarea name="myTextBox" id="myTextBox"></textarea>
    
    
    函数替换(){
    var myVal=document.getElementById('myTextBox')。值;
    如果(myVal.length>0){
    警报(myVal);
    }
    如果(myVal.length==0){
    警报(“空文本框”);
    }
    }
    

    可能类似于以下内容

    <script type="text/javascript">
    function substitute() {
    
    var myVal=document.getElementById('myTextBox').value;
    if (myVal.length>0) {
    alert(myVal);
    }
    if (myVal.length==0) {
        alert('Empty Textbox');
    }
    }
    </script>
    <input type="button" name="Button" value="Click Me" onclick="substitute();">
    <textarea name="myTextBox" id="myTextBox"></textarea>
    
    
    函数替换(){
    var myVal=document.getElementById('myTextBox')。值;
    如果(myVal.length>0){
    警报(myVal);
    }
    如果(myVal.length==0){
    警报(“空文本框”);
    }
    }
    

    在代码中,您没有向函数substitute()传递任何参数,而是向您编写的@function definition(参数)传递参数。这是一个大问题,而且在函数中的if条件后面有一个半列。不需要

    试试这个

    <input type="text" id="myText" value="Hello" />
    <input type="button" name="Button" value="Click Me" onclick="substitute();" />
    

    在代码中,您并没有向函数substitute()传递任何参数,而是向您编写的@function definition传递替换(参数)。这是一个大问题,而且在函数中的if条件后面有一个半列。不需要

    试试这个

    <input type="text" id="myText" value="Hello" />
    <input type="button" name="Button" value="Click Me" onclick="substitute();" />
    


    您的浏览器控制台中是否有任何错误?胡乱猜测:您的文本框没有ID。“value”属性的值永远不会有函数。但是,您试图像调用函数一样调用它(这就是
    ()
    所做的)。@NiettheDarkAbsol是的,我已经给了textbox id。您的浏览器控制台中是否有错误?猜测:您的文本框没有id。“value”属性永远不会有函数作为其值。然而,你试图像调用函数一样调用它(这就是
    ()
    所做的)。@NiettheDarkAbsol是的,我给了textbox id。@marcadrejiakarini只是一个JS库,它使做一些事情变得更容易(更快):它仍然是JavaScript。+1用于获得正确答案-感谢您为这样一个琐碎的操作推荐jQuery。@NiettheDarkAbsol我怀疑这个琐碎的操作是他将在其网站上编写的唯一一段JS代码。最好从一开始就使用jQuery,它只能节省时间(另外,请参阅关于angular的评论)。@Lucastzesniewski更好的是,编写自己的工具包。现在这节省了时间。另外,你还能学到东西。@NiettheDarkAbsol编写自己的工具包可以节省时间吗?我能正确地检测到讽刺吗?@marcadrejiakarini只是一个JS库,它使做一些事情变得更容易(也更快):它仍然是JavaScript,因为它有正确的答案-感谢您为这样一个琐碎的操作推荐jQuery。@NiettheDarkAbsol我怀疑这个琐碎的操作是他将在其网站上编写的唯一一段JS代码。最好从一开始就使用jQuery,它只能节省时间(另外,请参阅关于angular的评论)。@Lucastzesniewski更好的是,编写自己的工具包。现在这节省了时间。另外,你还能学到东西。@NiettheDarkAbsol编写自己的工具包可以节省时间吗?我是否正确地发现了讽刺?你的意思是在if-else语句中不需要分号?@marcarrini-No:括号表示语句的开始和结束。就像在其他任何地方一样,内部需要分号,但在右大括号后面永远不需要分号。@marcadrejiakarini如果您的文本框有正确的
    id
    ,然后我很确定,您所需要的就是从
    值中删除括号,并在末尾再添加一个右括号。@AstroCB他没有遗漏
    }
    ,他只是懒于格式化。@AstroCB我只是有。你的意思是在if-else语句中不需要分号吗?@marcadrejiacrini-No:括号表示语句的开始和结束。就像在其他任何地方一样,内部需要分号,但在右大括号后永远不需要分号。@MarcandejiaCarrini如果你的文本框有正确的
    id
    ,那么我很确定你所需要的就是从
    value
    中删除括号,然后在文本框中再添加一个右大括号