问题似乎与Jquery无关,但与html相关:
我在表格行之间渲染了表单。然后我尝试在表单中渲染表格行。 Opera和Firefox只接受您在表单标记之间呈现完整的表。
无效:
<form>
<tr>
<td></td>
</tr>
</form>
或
<tr><form>
<td></td>
</form></tr>
有效:
<form>
<table>
<tr>
<td></td>
</tr>
</table>
</form>
我无法理解为什么在Opera和IE中以下代码不起作用...
$("#form_" + $(this).attr('id')).serialize();
我只通过获取属性来检查它;工作
我检查了是否可以在没有序列化的情况下获取表单数据;工作
我该如何编码呢?尝试了很多组合和东西,但没有任何作用..为什么这不适用于歌剧?在chrome中我没有问题......
回答以下一些问题
我的页面上有多个表单,每个表单都有一个唯一的ID(from_1,form_5等)我检查了这个并且是正确的。当选择更改时,需要获取表单数据,因此更改事件会触发数据调用。
答案 0 :(得分:0)
我在Opera 11.01中试过这段代码:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function serializeFormData( formId )
{
var serializedData = $( '#form_' + formId ).serialize();
alert( serializedData );
}
</script>
<body>
<form id="form_1" name="form_1">
<input type="text" name="form_1_input" value="1" />
<textarea name="form_1_textarea">1</textarea>
<a href="javascript:;" onclick="serializeFormData( 1 )">Serialize</a>
</form>
<form id="form_2" name="form_2">
<input type="text" name="form_2_input" value="2" />
<textarea name="form_2_textarea">2</textarea>
<a href="javascript:;" onclick="serializeFormData( 2 )">Serialize</a>
</form>
<form id="form_3" name="form_3">
<input type="text" name="form_3_input" value="3" />
<textarea name="form_3_textarea">3</textarea>
<a href="javascript:;" onclick="serializeFormData( 3 )">Serialize</a>
</form>
</body
</html>
一切都适合我!!!
答案 1 :(得分:0)
我发现了问题;
我在表格行之间渲染了表单。然后我尝试在表单中渲染表格行。 Opera和Firefox只接受您在表单标记之间呈现完整的表。
无效:
<form>
<tr>
<td></td>
</tr>
</form>
或
<tr><form>
<td></td>
</form></tr>
有效:
<form>
<table>
<tr>
<td></td>
</tr>
</table>
</form>