【发布时间】:2017-02-13 22:04:04
【问题描述】:
我有一个表单页面,我需要在提交之前执行一些 AJAX 操作,并且我正在使用序列化来[解析它,但是表单输入名称中包含句点字符(对此我无能为力,它是CRM 怪癖)正在破坏 ajax - 在这种情况下我该如何逃避它们?基本上形式是:
<form action="http://content.stuff.com" id="myid" class="form" method="POST" name="PPCform" >
<input name="uPEw.zMtH4.ptrq8qzoLXcwu7t87tfw2u" type="hidden" />
<input name="yP7h.zGDK46p8rq8qzJYDnru9D87Zfw2y" placeholder="Email" type="text" value="">
<input type="submit" id="button-blue" value="SUBMIT AND CONTINUE" />
</form>
脚本是:
$("form").submit(function (event) {
event.preventDefault();
//FB pixel, other stuff
$.post($(this).attr('action'), $(this).serialize())
.done(function () {
// redirect, etc.
});
});
但这不起作用,因为 .在名字中。因为我没有单独抓住它们,所以我不能使用通常的 // 转义方法。知道如何指示序列化转义句点吗?
【问题讨论】:
-
“打破 ajax”是什么意思?
-
刚刚快速尝试一下,值被序列化并正确提交,例如
yP7h.zGDK46p8rq8qzJYDnru9D87Zfw2y=email@example.com
标签: javascript jquery ajax serialization escaping