JS函数没有显示任何内容

时间:2014-06-30 16:29:58

标签: javascript

我已经创建了一个函数并捕获了文本框的值。在按钮上单击,它应该警告该值。 代码是:

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();">

但没有任何反应。请告诉我我在哪里做错了。

5 个答案:

答案 0 :(得分:4)

您有一些错误:

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

    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
    

    Demo

答案 1 :(得分:3)

value不是函数,它是属性,因此:

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

当您成为JS的新手时,我会给您一些建议:如果您想操纵DOM,请使用jQuery

答案 2 :(得分:1)

在你的代码中,你没有将任何参数传递给函数subsititute(),但是@函数定义你写了替换(参数)。这是一个大问题,而且你在函数内部if条件之后还有一个半列。不需要它

试试这个..

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

在脚本部分,

function subsitute()
{
  var myVal=$('#myText').val();
  alert(myVal);
  if (myVal=='')
  {
    alert('Empty Textbox');
  }
}

答案 3 :(得分:0)

http://jsbin.com/tewudopi/1/edit

为按钮添加ID。引用按钮时,它不是&#34; .value()&#34;,它只是&#34; .value&#34;。

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

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

答案 4 :(得分: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>

Fiddle demo