0
我希望能夠將表單ID傳遞給一個方法,然後該方法將代碼提交給表單所具有的任何動作url。將表單ID傳遞給函數並在函數內提交
這裏是的形式
@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的副本。