我的HTML:
<script type="text/javascript">
$(function() {
$("#bt1").click(function() {
var f = $("#form1");
var formData = f.serialize();
alert(formData);
});
});
</script>
<div id="div1">
<form id="form1" action="/Home/Test1" method="post" name="down">
<div id="div2">
<input id="input1" type="text" value="2" />
</div>
</form>
</div>
<input type="submit" id="bt1" />
Run Code Online (Sandbox Code Playgroud)
当我启动click事件时,formData为空.我正在使用jQuery 1.4.2.
Fel*_*ing 200
你必须给input
元素命名.例如:
<form id="form1" action="/Home/Test1" method="post" name="down">
<div id="div2">
<input id="input1" type="text" value="2" name="foo"/>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
会在警报框中给你foo=2
.
.serialize()
获取表单字段的名称和值,并创建一个字符串name1=value1&name2=value2
.没有名称就无法创建这样的字符串.
请注意,这name
是不同的id
.如果您以"正常"方式使用它,您的表单也将无效.每个表单字段都需要一个名称.
Mad*_*aks 75
虽然它不适用于此特定示例,但如果禁用一个或多个表单输入,则会出现相同的行为.这些输入不会显示在序列化字符串中.在我的例子中,所有表单输入都有值但被禁用,导致返回一个空字符串.
name
输入中没有属性...这可能是序列化的问题.
<input id="input1" type="text" value="2" name="input1" />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
60067 次 |
最近记录: |