2017-05-15 16 views
0

私はスタックしています。以下のスクリプトは複数の入力属性を持つdivタブ全体のクローン作成には問題ありませんが、問題を解決するには値を空白またはnullに設定できません。助けてください。クローン作成後に入力値を空白に設定できません。

<html> 
<head> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script> 
    <script type="text/javascript"> 
    $(document).ready(function() { 

     var inputs = 1; 

     $('#btnAdd').click(function(e) { 
      e.preventDefault(); 
      alert("asfter priovent defaulg"); 

      $('.btnDel:disabled').removeAttr('disabled'); 
      var c = $('.clonedInput:last').clone(true); 

      $.each(c.find(':input'), function (i, val) { 
        var suffix = $(this).attr('name').match(/\d+/); 
        var oldN = $(this).attr('name'); 

        var newN = oldN.replace('[' + suffix + ']', '[' + (parseInt(suffix) + 1) + ']'); 

        $(this).attr('name', newN);  
        $(this).find('input').val('').end(); 

        c.children(':text').attr('name', newN); 
        c.children(':text').attr('name', newN).val('').end(); 
      }); 
      $('.clonedInput:last').after(c); 
     }); 
    }); 
    </script> 
</head> 

<form id="myForm"> 
    <div class="form-horizontal"> 
     <div class="clonedInput"> 
      <input type="button" name="btnDelete[1]" class="btnDel" value="Delete" disabled="disabled" /> 
      <div class="row"> 
       <div class="col-sm-4"> 
        <div class="form-group"> 
         <label>First</label> 
         <div class="col-md-7"> 
          <input type="text" name="firstname[1]" size="10"> 
         </div> 
        </div> 
       </div> 
       <div class="col-sm-4"> 
        <div class="form-group"> 
         <label>Second</label> 
         <div class="col-md-7"> 
          <input type="text" name="LastName[1]" size="10"> 
         </div> 
        </div> 
       </div> 
       <div class="col-sm-4"> 
        <div class="form-group"> 
         <label>Third</label> 
         <div class="col-md-7"> 
          <input type="text" name="Status[1]" size="10"> 
         </div> 
        </div> 
       </div> 
      </div> 
     </div> 
     <div> 
      <input type="button" id="btnAdd" value="add another name" /> 
     </div> 
    </div> 
</form> 
</html> 
+0

は、なぜあなたは、あなたのクリックイベントの先頭に 'e.preventDefault()'右をしますか? –

+0

私は値をリセットすることができないコードの有無にかかわらず、さまざまなオプションを試していました。 – asreeram

+0

ええ、大丈夫ですね、それはおそらく必要ないでしょう。あなたのコードのどの部分を入力フィールドのテキストをリセットするために使用していますか?どの入力フィールド?これを行うには、 'c.children( ':text')。attr( 'name'、newN).val( '').end();というコードを使用しようとしていますか? –

答えて

0

すでに入力を繰り返しているときは、入力を.find()にしようとしています。

変更:

$(this).find('input').val('').end(); 

$(this).val('').end();またはthis.value = '';

+0

素晴らしい、ありがとう!!!!! – asreeram

+0

こんにちは。入力属性を動的に追加せずにフォームを送信すると、フォームは期待通りに機能します。しかし、 "Add another name"ボタンをクリックすると、入力属性を持つ新しいdivタグが追加されます。しかし、フォームを送信すると、ページをリロードしようとしています。この行動を避けるために私が何ができるか知っていますか? – asreeram

+0

jqueryを使用している場合は、 '.submit()'メソッドを参照する必要があります:https://api.jquery.com/submit/ –

関連する問題