3、Form插件的详细使用方法及应用实例 http://www.malsup.com/jquery/form/ ============================ 该插件的作者在介绍form.js时,说了这样的一句话: 引用: Submitting a form with AJAX doesn't get any easier than this! 意思是说,用Ajax来提交表单,你不可能找到比这个更容易的了。呵呵——,是否吹水,大家用过了就知道了。
// 取得密码输入值 var value = $('#myFormId :password').fieldValue(); alert('The password is: ' + value[0]); resetForm
通过调用表单元素原有的DOM方法,将表单恢复到初始状态。 可链接(Chainable):可以。 实例: 代码: $('#myFormId').resetForm(); clearForm 清除表单元素。该方法将所有的文本(text)输入字段、密码(password)输入字段和文本区域(textarea)字段置空,清除任何select元素中的选定,以及将所有的单选(radio)按钮和多选(checkbox)按钮重置为非选定状态。 可链接(Chainable):可以。 代码: $('#myFormId').clearForm(); clearFields 清除字段元素。只有部分表单元素需要清除时才方便使用。 可链接(Chainable):可以。 代码: $('#myFormId .specialFields').clearFields(); Options对象 ajaxForm和ajaxSubmit都支持众多的选项参数,这些选项参数可以使用一个Options对象来提供。Options只是一个Javascript对象,它包含了如下一些属性与值的集合: target 指明页面中由服务器响应进行更新的元素。元素的值可能被指定为一个jQuery选择器字符串,一个jQuery对象,或者一个DOM元素。 默认值:null。 url 指定提交表单数据的URL。 默认值:表单的action属性值 type 指定提交表单数据的方法(method):“GET”或“POST”。 默认值:表单的method属性值(如果没有找到默认为“GET”)。 beforeSubmit 表单提交前被调用的回调函数。“beforeSubmit”回调函数作为一个钩子(hook),被提供来运行预提交逻辑或者校验表单数据。如果 “beforeSubmit”回调函数返回false,那么表单将不被提交。“beforeSubmit”回调函数带三个调用参数:数组形式的表单数 据,jQuery表单对象,以及传入ajaxForm/ajaxSubmit中的Options对象。表单数组接受以下方式的数据: 代码: [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ] 默认值:null success 表单成功提交后调用的回调函数。如果提供“success”回调函数,当从服务器返回响应后它被调用。然后由dataType选项值决定传回responseText还是responseXML的值。 默认值:null dataType 期望返回的数据类型。null、“xml”、“script”或者“json”其中之一。dataType提供一种方法,它规定了怎样处理服务器的响应。这个被直接地反映到jQuery.httpData方法中去。下面的值被支持: 'xml':如果dataType == 'xml',将把服务器响应作为XML来对待。同时,如果“success”回调方法被指定, 将传回responseXML值。 'json':如果dataType == 'json', 服务器响应将被求值,并传递到“success”回调方法,如果它被指定的话。 'script':如果dataType == 'script', 服务器响应将求值成纯文本。 (译注:上面一些地方鬼佬说的不清不楚,只好意译了,希望能够表达原意。) 默认值:null(服务器返回responseText值) semantic Boolean flag indicating whether data must be submitted in strict semantic order (slower). Note that the normal form serialization is done in semantic order with the exception of input elements of type="image". You should only set the semantic option to true if your server has strict semantic requirements and your form contains an input element of type="image". 布尔标志,表示数据是否必须严格按照语义顺序(slower?)来进行提交。注意:一般来说,表单已经按照语义顺序来进行了串行化(或序列化),除了 type="image"的input元素。如果你的服务器有严格的语义要求,以及表单中包含有一个type="image"的input元素,就应该将 semantic设置为true。(译注:这一段由于无法理解,翻译出来可能语不达意,但请达人指正。) 默认值:false resetForm 布尔标志,表示如果表单提交成功是否进行重置。 Default value: null clearForm 布尔标志,表示如果表单提交成功是否清除表单数据。 默认值:null 实例: 代码: [/code] // 准备好Options对象 var optiOns= { target: '#pToUpdate', url: 'comment.php', success: function() { alert('Thanks for your comment!'); } }; // 将options传给ajaxForm $('#myForm').ajaxForm(options); [/code] 注意:Options对象还可以用来将值传递给jQuery的$.ajax方法。如果你熟悉$.ajax所支持的options,你可以利用它们来将Options对象传递给ajaxForm和ajaxSubmit。