Я хочу, чтобы иметь возможность передать идентификатор формы методу, который затем имеет код для отправки формы в зависимости от того, какой URL-адрес действия имеет эта форма.Передача идентификатора формы функции и отправки ее в пределах функции
Вот код для одной из форм
@using (Html.BeginForm("jQueryPost", "Home",null, FormMethod.Post, new { id="FormPost1" }))
{
@Html.TextBoxFor(x => x.Name) @Html.ValidationMessageFor(x => x.Name)
<br />
@Html.TextBoxFor(x => x.LastName) @Html.ValidationMessageFor(x => x.LastName)
<br />
@Html.TextBoxFor(x => x.Age) @Html.ValidationMessageFor(x => x.Age)
<br />
<br />
<input type=button id="Postbtn1" value="Post Method 1 " />
<input type=button id="Postbtn2" value="Post Method 2 " />
}
Вот сценарий
<script>
function ReusableJqueryPost()
{ }
ReusableJqueryPost.prototype.CommonPost = function (formId) {
//alert('alert 2: ' + formId);
var fid = $("#" + formId);
alert('alert 3 : ' + fid);
$("#" + formId).submit(function (e) {
alert('alert 4');
e.preventDefault();
var validated = $(fid).valid();
alert('form validated here');
if (validated) {
$.ajax({
type: 'POST',
url: $(fid).attr('action'),
data: $(fid).serialize(),
accept: 'application/json',
error: function (xhr, status, error) {
alert(xhr.responseText);
},
success: function (response) {
alert(response.Name);
}
});
}
});
$('#Postbtn1').click(function() {
alert('alert 1 : ');
var r = new ReusableJqueryPost();
r.CommonPost('FormPost1');
});
$('#Postbtn2').click(function() {
alert('alert 1 : ');
var r = new ReusableJqueryPost();
r.CommonPost('FormPost2');
});
</script>
Я только в состоянии достигнуть до тревоги 3. Когда я нахожусь в этой строке $("#" + formId).submit(function (e)
, он терпит неудачу.
Любая идея о том, как это сделать? В этом примере я только поставил Form1. Form2 - это копия Form1.