2012-07-25 48 views
0

,我想動態添加一個文本框一個按鈕,點擊jQuery的錯誤:微軟JScript運行時錯誤:無法獲得屬性「HTML」的值:對象爲空或我的MVC3剃鬚刀頁面上未定義

下面粘貼的是我的jquery。但是當我點擊addButton時,我收到上述錯誤消息。

要解決此錯誤,我嘗試添加<script type="text/javascript" src="jquery-1.3.2.min.js"></script>,但仍得到相同的錯誤。讚賞您的建議以解決此錯誤。

<script type="text/javascript"> 



    $(document).ready(function(){ 



     var counter = 2; 



     $("#addButton").click(function() { 



      if(counter>10){ 

       alert("Only 10 textboxes allow"); 

       return false; 

      } 



      var newTextBoxDiv = $(document.createElement('div')).attr("id", 'TextBoxDiv' + counter); 

       newTextBoxDiv.after().html('<label>Textbox #'+ counter + ' : </label>' + 

       '<input type="text" name="textbox' + counter + 

       '" id="textbox' + counter + '" value="" >'); 



      newTextBoxDiv.appendTo("#TextBoxesGroup"); 



      counter++; 

     }); 



     $("#removeButton").click(function() { 

      if(counter==1){ 

       alert("No more textbox to remove"); 

       return false; 

      } 

      counter--; 



      $("#TextBoxDiv" + counter).remove(); 

     }); 



     $("#getButtonValue").click(function() { 



      var msg = ''; 

      for(i=1; i<counter; i++){ 

       msg += "\n Textbox #" + i + " : " + $('#textbox' + i).val(); 

      } 

      alert(msg); 

     }); 



    }); 

</script> 

enter image description here

+0

什麼是空的'.after()'調用? – Musa 2012-07-25 18:38:28

回答

0

你可能想要一路使用jquery,而不是混合本地DOM和jquery。這個將實際上工作:

var newTextBoxDiv = $('<div id="TextBoxDiv' + counter + '"><label>Textbox #'+ counter + ' : </label><input type="text" name="textbox' + counter + '" id="textbox' + counter + '" value="" ></div>'); 
2

這似乎是很明顯的。如果您在沒有任何內容的情況下致電after(),則不會創建任何內容。如果你試圖得到沒有任何東西的html() ......你什麼也得不到。您可能要查看after()documentation

相關問題