私はこのフォームを持っており、2つの送信ボタンがあります:
<form method="post" onsubmit="send_mail(this);return false">
<select name="liste">
<option value='0'>Choose list</option>
<option value="1">list1</options>
<option value="2">list2</options>
</select>
<p>Subject: <input type="text" name="subject" /><br />
<div id="editor">
<textarea value="editor1" name="editor1">Some text here</textarea>
</div>
<input type="submit" value="Sent Mail!" />
<div id="testmail">
<p><input type="button" onsubmit="send_Testmail(this);return false" value="Sent Test" />
To: <input type="text" name="testemail" /><br />
</div>
</form>
ご覧のとおり、フォームには次のjavascript関数があります。onsubmit="send_mail(this);return false
これは次のようになります:
function send_mail(form) {
jQuery.post('editor.php', jQuery(form).serialize(), function(data) {
jQuery('#center').html(data);
});
}
このスクリプトは、フォームデータをeditor.phpスクリプトに送信します。このスクリプトは、メールを処理して送信し、「emailsend」を返します。スクリプトは、<div>
を、<form>
このreturn
ステートメントに置き換えます。これは私が望んでいたように機能しています。
次に、別のボタンと入力テキストボックスを作成して、ユーザーがメールを入力し、上記のフォームのテストを送信してから送信できるようにします。
これどうやってするの?問題は、2ボタンがフォームタグに添付されているため、常にjavascriptsend_mailを送信することonsubmit
です。
これはおそらく基本的な質問です。誰かが私を正しい方向に向けてくれることを願っています。
編集/更新:
明確にするために:最初のボタンは$ postを私のeditor.phpファイルに送信する必要があり、javascriptはフォーム全体を保持するdivを置き換えます。2番目のボタンは$postをtestmail.phpファイルに送信し、このボタンを保持するdivと入力テキストフィールド(IDは「testmail」)のみを置き換える必要があります。
それが理にかなっていることを願っています..そして助けてくれてありがとう。