2009-07-18 9 views
0

Comment est-ce que je soumettrais l'identification dans le nom de forme pour soumettre un certain formulaire?javascript utilisant la valeur de variable dans document.nameofformtosubmit.submit()

function submitComment(id) 
{ 
    alert('comment on song id: '+[id]+''); 

    document.postcomment.submit(); 

} 

Je veux être en mesure de présenter .. postcomment43 ou postcomment 42 .. quelle que soit la valeur de ID est joint à Postcomment

Essayé ceci:

function submitComment(id) 
{ 
    alert('comment on song id: '+[id]+''); 


    var formToSubmit = 'postcomment' + id; 

    alert(''+ formToSubmit +''); 
    document.formToSubmit.submit(); 


} 

crée correctement le nom formToSubmit mais ne tire pas. comment puis-je placer correctement la variable formToSubmit dans le document.form.submit

Il semble que tout mettre en formToSubmit va chercher le formulaire avec le nom formToSubmit

Répondre

2

Donnez votre forme un identifiant unique:

<form id="postcomment42" action="..."></form> 
<form id="postcomment43" action="..."></form> 
<form id="postcomment44" action="..."></form> 

utilisez ensuite la fonction getElementById pour obtenir la forme souhaitée:

function submitComment(id) 
{ 
    var formToSubmit = document.getElementById('postcomment' + id); 
    if (formToSubmit != null) formToSubmit.submit(); 
} 

Bien que je pense qu'il ya quelque chose de mal avec votre conception. Pourquoi avez-vous plusieurs formulaires? Tu ne peux pas avoir un seul formulaire pour soumettre un commentaire comme:

<form id="postcomment" action="comment?id=42" method="post"></form> 

Pourriez-vous donner un peu plus de détails sur ce que l'interface ressemble et ce que vous essayez d'atteindre?

+0

Essayé quelque chose. (ajouté à l'édition de la question) – ian

0

Si vos formulaires ont seulement des noms, et non les ID, vous pouvez effectuer les opérations suivantes:

// by name 
function submitComment(id) 
{ 
    var theForm = 'postcomment' + id; 
    document.forms[ theForm ].submit(); 
} 

Le sont beaucoup, beaucoup de façons de soumettre un formulaire via JS, mais compte tenu de votre question, je pense que cela est la manière la plus applicable.

Questions connexes