我正在使用javascript函数,该函数首次运行但不是第二次运行。控制台显示:Uncaught TypeError: pizza_name is not a function
<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>
function pizza_name() {
if( pizza_name != "" ) {
.........
}else{
alert( "please enter a name" );
}
}
第一次正确显示警报。但不是第二次
答案 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");
}
});
});
答案 3 :(得分:0)
不要重复使用名称,你可能会覆盖你的函数而不是字符串。
(这就是我假设在您尝试将pizza_name
作为字符串进行测试时未显示的代码中发生的事情)
function pizza_name() {
if( pizza_name != "" )
你最好将这个函数命名为getPizzaName
。将函数命名为does
,而不是它返回的内容。