第一次运行但第二次没有工作

时间:2015-08-28 12:54:59

标签: javascript jquery html

我正在使用javascript函数,该函数首次运行但不是第二次运行。控制台显示:Uncaught TypeError: pizza_name is not a function

我的HTML是:

<div class="pizza_name_div">
    <input type="text" name="pizza_name" id="pizza_name" placeholder="Enter your pizza name as u like. i.e : my-pizza" value=""> 
    <input type="submit" value="Go" id="pizza_name_submit" onclick="pizza_name()">
</div>

和我的js

function pizza_name() {
  if( pizza_name != "" ) {
     .........
  }else{
    alert( "please enter a name" );
  }
}

第一次正确显示警报。但不是第二次

4 个答案:

答案 0 :(得分:2)

Link
js代码:

   function pizza_name() {
    var pizzaName=document.getElementById("pizza_name").value;
  if(!pizzaName ) {
   alert("no value");
  }else{
    alert( "please enter a name" );
  }
}

答案 1 :(得分:1)

使用以下代码更改您的代码:

function pizza_name() {
  var pizzaName = document.getElementById('pizza_name').value;
  if(pizzaName != "") {
     //.........
  } else {
    alert( "please enter a name" );
  }
}

不为函数内的可能pizza_name变量赋值是非常重要的。

答案 2 :(得分:0)

你也可以使用jquery

HTML

<div class="pizza_name_div">
    <input type="text" name="pizza_name" id="pizza_name" placeholder="Enter your pizza name as u like. i.e : my-pizza" value=""> 
    <input type="submit" value="Go" id="pizza_name_submit" >
</div>

JQUERY

$(document).ready(function(){
$("#pizza_name_submit").on("click", function(){
if( $("#pizza_name").val()) {
    alert( $("#pizza_name").val());
  }else{
    alert("enter value");
  }
});
});

demo

答案 3 :(得分:0)

不要重复使用名称,你可能会覆盖你的函数而不是字符串。

(这就是我假设在您尝试将pizza_name作为字符串进行测试时未显示的代码中发生的事情)

function pizza_name() {
    if( pizza_name != "" ) 

你最好将这个函数命名为getPizzaName。将函数命名为does,而不是它返回的内容。