将表单数据转换为对象

时间:2011-09-09 09:25:58

标签: javascript

我不想将数据发布到我希望将其传递到接收对象的客户端函数的服务器上。最好的方法是什么?

2 个答案:

答案 0 :(得分:6)

您可以这样创建自己的对象:

<form name='f1'>

<input type='text' name='firstname' />
<input type='text' name='lastname' />

</form>

window.onload = function()
{
    var Person = 
    {  
      'FirstName' : document.f1.firstname.value, 
      'LastName' : document.f1.lastname.value 
    }
}

JSON object只是一个普通的Javascript对象,因为JSON是Javascript的子集。

答案 1 :(得分:2)

如果您使用的是jQuery,则可能需要查看它提供的.serializeArray()功能,因为它只需一次通话即可。使用TJ's example;

<script type="text/javascript">
    $(function () {
        $('form[name="f1"]').submit(function() {
            var person = $(this).serializeArray();
            // Do what you will with 'person' now...
        });
    });
</script>
<form name="f1">
    <input type="text" name="firstname" />
    <input type="text" name="lastname" />
    <input type="submit" value="Submit" />
</form>

这样您就不必手动构建对象并为每个字段声明一个属性,这有助于避免人为错误。

如果由于某种原因您不想使用jQuery,那么您可以look at the code始终查看所使用的逻辑并创建自己的函数。