我想创建某些html表单的字符串表示形式,以便存储在url的哈希部分。
我懒洋洋地希望会有这样的方法和jquery。 serialize()似乎可以解决问题,除了在我看到的所有示例中,它使用表单提交的“this”对象。在我的网站上,表单没有提交,我只是希望能够序列化它们。我试过了:
params['formParams'] = $("#"+currentSearchForm).serialize();
但我得到一个空字符串而不是序列化表单。
我应该欺骗表单提交并在其中生成序列化字符串,然后取消默认事件或其他内容吗?似乎有点做作..?
或者可能是我正在做序列化错误..
感谢您的帮助!
答案 0 :(得分:0)
首先确保您的表单元素具有'name'属性。这可能是不工作序列化的原因。
如果您想在提交时执行此操作,然后取消提交,则可以执行以下操作:
$("#formid").submit(function() {
//whatever
return false; //<- this cancels the submit
});
答案 1 :(得分:0)
jQuery .serialize()
应该可以解决问题。您只需使用$('form').serialize()
即可获取表单数据。
这是一个演示http://jsfiddle.net/muthkum/x6n2e/1/。一个在提交表单之前被调用。单击“提交”按钮时会调用另一个。两者都有效。
答案 2 :(得分:0)