2009-07-18 9 views
0

特定のフォームを送信するためにフォーム名にIDを送信するにはどうすればよいですか?JavaScriptがdocument.nameofformtosubmit.submit()内の変数値を使用しています

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

    document.postcomment.submit(); 

} 

私はIDの値はこれを試し

をpostcommentするための共同でどんな.. postcomment43またはpostcomment 42を提出することができるようにしたい:

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


    var formToSubmit = 'postcomment' + id; 

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


} 

は正しくformToSubmit名を作成しますしかし発射しない。どのように私はきちんとdocument.form.submitに

をformToSubmit変数を置くかちょうどformToSubmitに置くことは名前でフォームを探しに行くようですformToSubmit

答えて

2

フォーム固有のID付け:

を私はあなたに何か問題があると疑われるものの

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

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

その後、所望の形状を得るためにgetElementById機能を使用 設計。なぜあなたは複数のフォームを持っていますか?あなたのようなコメントを提出する単一のフォームを持つことはできません。

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

は、インターフェイスがどのように見えるとあなたが達成しようとしている何かについて、もう少し詳細を与えますか?フォームは名前だけではなく、IDを持っている場合は、次の操作を行うことができ

+0

試してみてください。 (質問の編集に追加) – ian

0

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

ザ・はJS経由でフォームを送信するために多くの、多くの方法ですが、あなたの質問を考慮し、私はこれがあると思います最も適用可能な方法。

関連する問題