2010-01-24 5 views
1

J'ai un problème avec ce formulaire sur lequel je travaille. Chaque fois que j'ajoute ou que j'actualise la page, les valeurs sont toujours là. Je crois que c'est parce que la méthode clone copie l'attribut value du textBox. Est-il possible de me débarrasser d'eux quand j'ajoute un autre textBox?Se débarrasser de l'attribut Value d'un textBox lors de l'utilisation de la méthode clone dans jQuery

<html> 
    <head> 
    <title>JQuery Example</title> 
    <script type="text/javascript" src="jquery-1.4.js"></script> 
    <script type="text/javascript"> 


     function removeTextBox() 
     { 
      var childCount = $('p').size() //keep track of paragraph childnodes 

      //this is because there should always be 2 p be tags the user shouldn't remove the first one 
      if(childCount != 2) 
      { 
      var $textBox = $('#textBox') 
      $textBox.detach() 

      } 

     } 


     function addTextBox() 
     { 

     var $textBox = $('#textBox') 
     var $clonedTextBox = $textBox.clone() 

     //document.getElementById('textBox').setAttribute('value', "") 

     $textBox.after($clonedTextBox) 



     } 
    </script> 
    </head> 
    <body> 
    <form id = 
      method="POST" 
      action="http://cs.harding.edu/gfoust/cgi-bin/show"> 

    <p id= "textBox"> 
     Email: 
     <input type = "text" name="email" /> 
     <input type ="button" value ="X" onclick = "removeTextBox()"/> 
    </p> 

     <p> 
     <a href="javascript:addTextBox()">Add another email</a> 
     </p> 
     <input type="submit" value="submit"/> 
    </form> 
    </body> 
</html> 

Répondre

1

L'ajout devrait fonctionner:

var $clonedTextBox = $textBox.clone(); 
$($clonedTextBox).val(''); 
+0

Nope il ne fonctionne pas – ProxyProtocol

+0

le nom var dans la deuxième ligne de code devrait être clonedTextBox $, bien que je pense à partir vars locales JS avec $ est une mauvaise pratique et particulièrement déroutante lorsqu'elle est utilisée avec jQuery ... – tfwright

Questions connexes