私が取り組むシステムはContactフォームテンプレートのようなテンプレートを挿入してデータベースに保存するCMSです。このテンプレートは、データを処理するためにサーバー側に対してコーディングされています。フォームのネストに問題があるようなtextareaの場合はAjaxコール
は今、すべてのテンプレートを挿入しており、より保存されたフォーム内の私の「contentDivは」より
$(function() {
$("form#first").submit(function (e) {
e.preventDefault();
var viewmodel = {
Id: $("#someId").val(),
Html: $("#contentDiv").val()
};
$.ajax({
url: $(this).attr("action"),
type: "POST",
data: JSON.stringify(viewmodel),
dataType: "json",
contentType: "application/json; charset=utf-8",
beforeSend: function() { $("#status").fadeIn(); },
complete: function() { $("#status").fadeOut(); },
success: function (data) {
var message = data.Message;
},
error: function() {
}
});
});
});
予告として保存されるフォームの上
@using (Html.BeginForm("Edit", "Home", FormMethod.Post, new { id = "first" }))
{
@Html.Hidden("someId", @Model.PageId)
}
<div id="contentDiv" style="width:100%">@Html.Raw(Model.Html)</div>
のように包まれたページwithintフォームタグに示しました。フォームタグにラップされた連絡先フォームをID =最初のフォーム内に入れ子にすることはできません。
ネスティングを形成するソリューションはありますか?。ない
よりも私の別の質問がある場合は
contentDivは、彼は文句を言わない、サーバーにcontentDivデータを投稿することができ、フォームが何のことはないだろうよりも、クライアントのブラウザはJavaScriptが無効になっている場合を意味formタグに包まれていませんつかいます。
どうすればよいですか?
私はテンプレートを挿入した後の構造は、フォーム
@using (Html.BeginForm("Edit", "Home", FormMethod.Post, new { id = "first" }))
{
<form id="contactform" action="/Home/Email" method="post" >
<div class="clear" style="padding-bottom:10px;"></div>
<div class="formCaption">Full Name</div>
<div class="formField"><input id="fullName" name="fullName" class="standardField" /></div>
<div><input id="sendBtn" value="Send" type="button" /></div>
</form>
}
@Darinディミトロフは、更新された私の質問は、最下部に表示されます。 – Pirzada
@pirzada、あなたのビューモデルのHTMLプロパティにもフォームが含まれることがあります。これはいつものケースですか?それらのフォームも実際に提出しますか?なぜあなたは最初のフォームと共にHTMLを提出したいのですか? IDを使用してデータベースから取得できませんか?もっと理にかなっているだろう。私があなたに提案した隠しフィールドはどうですか? –
@Darin Dimitrov、私は内容が長くなる可能性があるので、ページ上のプレビューの混乱のために別のdivを使うことはできません。フォームタグがなくてもcontentDivコンテンツをサーバーに投稿できたらいつか? – Pirzada