J'ai une div en cours de duplication dynamique. Après le dédoublement, je dois enlever le nom de l'entrée cachée seulement, mais ne peux pas sembler pouvoir le sélectionner seulement. La majorité du fichier est prototype, mais j'ai jQuery à ma disposition (jq
).Supprimer le nom de l'entrée masquée créée dynamiquement
J'ai réussi à faire disparaître le nom, mais il les efface tous, je veux seulement qu'il soit effacé sur le div dupliqué.
Aide appréciée.
function dupField(fieldName,container,dupediv){
var container = $(container);
var dupedDiv = $(dupediv).cloneNode(true);
var totalins=jq("#MI_name > div").size();
newNode=document.createElement('div');
newNode.innerHTML=dupedDiv.innerHTML;
newNode.setAttribute('id',dupediv+totalins);
newNode.setAttribute('class','MI_inz');
var inputs_txt = newNode.getElementsByTagName('input');
var x = jq('#MI_label').val();
for(j=0;j<inputs_txt.length;j++){//change text field names
var nameNow = inputs_txt[j].name;
var newName = nameNow+totalins;
inputs_txt[j].name=newName;
inputs_txt[j].value='';
}
container.appendChild(newNode);
var nn=jq('newNode:hidden');//jQuery - this selects all the hidden's in the form-no good-only want to change hidden input in newNode
var hid=jq(nn).attr('name','');
}
C'est la partie après appendChild
.
quelques-unes des autres choses que j'ai essayé:
var nn=jq('newNode:input(:hidden)');
-
var nn=jq(newNode).attr('id');
jq(nn+':hidden').attr('name','');
etc ...
Je suis sûr que c'est simple, mais je ne peux pas obtenir il ...
je ne veux pas renommer le nœud lui-même, mais plutôt une entrée cachée à l'intérieur. – stormdrain
Droit, mon mauvais. J'ai juste attrapé ça moi-même. sunn0 est la bonne réponse, comme indiqué. Mais c'est ce que je voulais dire, utilisez le nœud existant pour trouver votre élément. – Gregg