【发布时间】:2018-06-07 14:59:37
【问题描述】:
我有 2 个表单和 ajax 脚本供他们使用。
jQuery("#mod-expert").submit(function () {
var formNm = jQuery('#mod-expert');
$.ajax({
type: "POST",
url: '/notify',
data: formNm.serialize(),
success: function (data) {
// Вывод текста результата отправки
jQuery(".message").removeClass("hidden");
jQuery(".message-text").html(data);
jQuery(".overlay").removeClass("hidden");
},
error: function (jqXHR, text, error) {
// Вывод текста ошибки отправки
jQuery(".message").removeClass("hidden");
jQuery(".message-text").html(error);
jQuery(".overlay").removeClass("hidden");
}
});
return false;
});
<div id="mod-order" class="form-modal">
<div class="head-modal quest-head">ask question</div>
<form id="mod-expert">
<input type='hidden' name="header" value="quest <%= @expert.name %>">
<div class="modal-fields">
<div class="row">
....some inputs
</div>
<input type="hidden" name="info" id="info"/>
<input type="hidden" name="field"/>
<div class="modal-footer">
<input class="btn-send" type="submit" value="Отправить">
<button class="btn-close">Отмена</button>
</div>
</div>
</form>
</div>
<div id="mod-expert-block" class="form-modal">
<div class="head-modal quest-head">Стать экспертом</div>
<form id="mod-expert">
<input type='hidden' name="header" value="Хочу стать экспертом">
<div class="modal-fields">
<div class="row">
...some inputs
</div>
<input type="hidden" name="info" id="info"/>
<div class="modal-footer">
<input class="btn-send" type="submit" value="Отправить">
<button class="btn-close">Отмена</button>
</div>
</div>
</form>
</div>
【问题讨论】:
-
您使用的是哪个版本的 jQuery?
type属性仅在 1.9 中添加。第二种形式也没有事件处理程序,因此将以标准方式提交。它也没有action属性,因此存在问题。 -
这是一种奇怪的做事方式。你是手工制作那个表格吗?为什么不使用带有
remote: true的表单助手并使用您的JS 来响应ajax:success事件? -
@RoryMcCrossan 版本。 3.1.1。根页面上完全相同的表单可以正常发送而不会出现问题。 _jvillian 稍后再做
标签: javascript jquery html ruby-on-rails