2012-04-21 53 views
0

我正在使用jQuery表单插件。这是我的样表jQuery表单插件与传递动态数据

<form id='formId' action='<?php echo $_SERVER['PHP_SELF']l?>' method='POST'> 
<input type='text' name='username'/> 
</form> 

这我的JavaScript

$('#formId').ajaxForm({ 
    success:function(data){ 
     console.log(data) 
    } 
}) 

在这种情况下,我想动态传递另一个数据值,而不在HTML中实现它。例如,我想通过密码字段。有没有什么方法可以实现这个选项?

回答

0

This PagebeforeSubmit函数允许你钩入表单数据提交和注入/修改数据。它允许3个参数,以数组的形式呈现的表单(这意味着我们可以推入它),作为jQuery对象(用于序列化)呈现的形式,以及与jaxForm/ajaxSubmit一起使用的options对象。工作示例 - >

$('#formId').ajaxForm({ 
    beforeSubmit: function(formData, formObject, formOptions){ 
    //formData is the form array. We can push the password into the array before we submit the form. 
    formData.push({ 
     password: //this is where you put the password you want 
    }); 
    }, 
    success:function(data){ 
    console.log(data) 
    } 
}); 
+0

谢谢@Ohgodwhy。这就是我要的。感谢你的回答。是的,我一定会考虑你的请求 – Mifas 2012-04-21 20:48:55

+1

我试过了,但它没有工作。它返回'undefined => undefined' – Mifas 2012-04-22 04:58:37

+0

也不适合我 – Musa 2013-06-20 15:52:08

0

老问题,但这里是一个工作代码片段。
该方法会以同样的方式为“Ohgodwhy”实施回答

beforeSubmit: function(formData, formObject, formOptions){   
    formData.push(
     {name: 'password',value: 'password/variable'}, 
     {name: 'username',value: 'username/variable'} 
    ); 
} 

您需要通过帕拉姆名称和param值集这样的。