$('#submit').click(function() {
//Get the data from all the fields
var name = $('input[name=name]');
//organize the data properly
var data = 'name=' + name.val();
//start the ajax
$.ajax({
url: "process.php",
type: "GET",
data: data,
cache: false,
//success
success: function (html) {
//if process.php returned 1/true (send mail success)
if (html==1) {
//hide the form
$('.form').fadeOut('slow');
$('.done').fadeIn('slow');
//if process.php returned 0/false
} else alert('error');
}
});
//cancel the submit button default behaviours
return false;
});
<form id="form1" method="post" action="process.php">
<div class="element">
<label>Name</label>
<input type="text" name="name" class="text" />
</div>
<input type="submit" id="submit"/>
</form>
<form id="form2" method="post" action="process.php">
<div class="element">
<label>Name</label>
<input type="text" name="name" class="text" />
</div>
<input type="submit" id="submit"/>
</form>
2つのフォームがあり、送信ボタンを押したときにそのうちの1つを送信したいと考えています。フォーム(form1またはform2)に基づいてvar "name"を自動的に宣言する方法はありますか?私は各フォームのルーチンが重複しないようにしたい。ページに複数のフォームがある場合、現在のフォームからvarを宣言するにはどうすればよいですか?
オプション1(私は、この作品を知っている - しかし、それは非常に "スマート" ではありません):
VAR名= $( '#のForm1の入力[名=名]');
var name = $( '#form2 input [name = name]');
オプション2(との助けを必要とする):
VAR名= $( '電流形提出 .input [名=名]');
ありがとうございます!
同じIDを持つ送信ボタンが2つあるべきではありません。それは無効なマークアップです。 – FishBasketGordo