2016-07-07 40 views
-3

警告我是新来的JavaScript和我下面那里基于下面的代码的教程,按钮的内容应该显示警报之前改变adding但我的代码是不工作显示在JavaScript

<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> 
 
<form class="form-item"> 
 
    <div class="cart"> 
 
     <input type="submit" value="Add to Cart" /> 
 
    </div> 
 
</form> 
 

 

 
<script> 
 
    $(document).ready(function(){ 
 
     $("button").click(function(){ 
 
      button_content.html('Adding...'); //Loading button text 
 
      alert("Item added to Cart!"); //alert user 
 
     }); 
 
    }); 
 
</script>

我该如何解决这个问题?

+4

1.您的HTML中的'button'元素在哪里? 2.什么是'button_content'? – makshh

+0

什么是“button_content?” –

+0

您还没有在代码中的任何位置声明button_content。只需执行以下操作即可更改html:$(this).html(“adding”); – DinoMyte

回答

1

给这个代码试试看的几个原因。

<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> 
<form class="form-item"> 
    <div class="cart"> 
     <!--<input type="submit" value="Add to Cart" />--> 

     <!-- First use a button not an input and give it an ID --> 
     <button id="btn_add" type="submit">Add to Cart</button> 
    </div> 
</form> 
<script> 

    // You can shorten up the ready statement 
    //$(document).ready(function(){ 

    $(function(){ 

     // Now bind a click handler with button's ID 

     // This is an older way of binding in jQuery 
     // $("#btn_add").click(function(){ 

     // Use jQuery's on() instead. 
     $("#btn_add").on("click", function(){ 

      // Change the HTML of the button by getting it by it's new ID 
      // button_content.html('Adding...'); //Loading button text 

      $("#btn_add").html('Adding...'); 

      alert("Item added to Cart!"); //alert user 
     }); 
    }); 
</script> 

在任何地方都可以使用ID。随时缩短你的准备好的陈述。使用jQuery的on handler而不是点击。

+0

感谢@pmahomme之前,它应该将“添加到购物车”按钮的内容更改为“添加...”,就像我想要的那样工作。如果我需要其他帮助,我该如何与您取得联系? – Prince

+2

@Prince不客气。就这样再问一次,我确定有人(也许是我)会帮助你。 ;) – pmahomme

1

你没有一个标签来选择它与jQuery。您的html必须看起来像这样工作:

<form class="form-item"> 
    <button class="cart">Add to Cart</button> 
</form> 
2

$("button")是不正确的选择器。这将寻找<button>元素,而你没有。

您需要$("input[type=submit]")或更好的方法是给它一个ID并使用该选择器:$("#mybutton")

请记住,这仍然会将表单提交回服务器 - 它只会等待警报。

0

您的问题是在jQuery选择和功能参考

<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> 
<form class="form-item"> 
    <div class="cart"> 
     <input type="submit" value="Add to Cart" /> 
    </div> 
</form> 


<script> 
    $(document).ready(function(){ 
     $("input[type=submit]).click(function(){ 
      $(this).html('Adding...'); //Loading button text 
      alert("Item added to Cart!"); //alert user 
     }); 
    }); 
</script> 
0
<button name="submit" value="Add to Cart" id="sendFeed">Add to card</button> 

<script> 
$(document).ready(function(){ 
    $("button").click(function(){ 
     button_content.html('Adding...'); //Loading button text 
     alert("Item added to Cart!"); //alert user 
     return false; 
    }); 
}); 

0

你不必在你的代码button元素。如果您的目标是input元素,那么您需要使用selector标记进行输入,然后使用.val()选项来显示文本。

$(document).ready(function(){ 
     $("input").click(function(){ 
      $(this).val('Adding...'); //Loading button text 
      alert("Item added to Cart!"); //alert user 
     }); 
    }); 

例子:https://jsfiddle.net/fz66qdv4/

0

试试:

<html> 
 
<head> 
 
</head> 
 
<body> 
 
    <script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> 
 
<form class="form-item"> 
 
    <div class="cart"> 
 
     <input type="submit" value="Add to Cart" /> 
 
    </div> 
 
</form> 
 

 

 
<script> 
 
    $(document).ready(function(){ 
 
     $("input[type=submit]").click(function(){ 
 
      $(this).val('Adding...'); //Loading button text 
 
      alert("Item added to Cart!"); //alert user 
 
     }); 
 
    }); 
 
</script> 
 
</body>  
 
</html>