如果textarea的格式也没有格式嵌套问题,则Ajax调用
|
我正在使用的系统是CMS,您在其中插入诸如联系表单模板之类的模板并将其保存到数据库。该模板针对服务器端进行编码以处理数据。
现在我的\“ contentDiv \”在表单中插入并保存了所有模板的表单中,而不是在页面中显示的表单标签中
@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>
以上表格另存为
$(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 () {
}
});
});
});
请注意,我将\“ contentDiv移出了表单标签,因为包裹在表单标签中的联系表单无法嵌套在id = first表单中。
有解决方案来套用表格吗? 。如果不是
我的另一个问题是
contentDiv不会被包装在表单标签中,这意味着如果客户端浏览器禁用了javascript,则他将无法将contentDiv数据发布到服务器,并且表单将毫无用处。
该怎么办?
如果我不将contentDiv移出表单标签,而不是在插入模板后移出,则结构将是表单的嵌套
@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>
}
没有找到相关结果
已邀请:
1 个回复
襄挟款籍
方法。您应该使用
:
当然,因为如果客户端浏览器禁用了javascript,则您正在使用javascript来获取主要表单之外的html,因此该表单将毫无用处。仅当您将html移到主窗体中时,才能在没有javascript的情况下使用: