0

如何从表单元素中检索名称和值?

例如:我应该有一个id=110kgod, checkbox=cancel, name=aj, age=23 我听说过 serialize 的输出,但可以应用吗?

<DIV style="BORDER-BOTTOM: blue 2px ridge; BORDER-LEFT: blue 2px ridge; WIDTH: 1000px; BORDER-TOP: blue 2px ridge; BORDER-RIGHT: blue 2px ridge" id=0_212099594_990000 class=mid>
<TABLE border=0 cellSpacing=0 cellPadding=0 width="100%" align=center>
    <TBODY>
        <TR vAlign=top align=middle width="100%" cellPadding="0" cellSpacing="0" border="0">
            <TD width="15%"><H4>ID</H4></TD>
            <TD width="5%"></TD>
            <TD width="30%" align=left><INPUT onblur="this.style.backgroundColor='#fff'" class=input_0_212099594_990000 onfocus="this.style.backgroundColor='#ccc'" value=110KG0D name=ow_id> </TD>
            <TD width="19%"></TD>
            <TD style="BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid" class=radiobutton width="20%" align=middle>YES<INPUT class=0_212099594_990000 disabled value=YES type=radio name=0_212099594_990000 jQuery172033007169320727875="2">NO<INPUT class=0_212099594_990000 disabled value=NO type=radio name=0_212099594_990000 jQuery172033007169320727875="3">MAYBE<INPUT class=0_212099594_990000 value=MAYBE CHECKED type=radio name=0_212099594_990000 jQuery172033007169320727875="4"></TD>
            <TD width="5%" align=right><BUTTON style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BACKGROUND-COLOR: white; BORDER-TOP: medium none; BORDER-RIGHT: medium none" onclick="javascript:ShowHide('0_212099594_990000')"><IMG src="../images/delete.png"></BUTTON> 
            </TD>
        </TR>
    </TBODY>
</TABLE>
<TABLE border=0 cellSpacing=0 cellPadding=0 width="98%" align=center>
    <TBODY>
        <TR vAlign=top align=left>
            <TD style="PADDING-BOTTOM: 1em" width="9%" align=middle><FONT color=black size=2><B>NAME</B></FONT></TD>
            <TD class=input_0_212099594_990000 width="8%" align=left><SELECT name=bsn_code> <OPTION selected value=a>A</OPTION> <OPTION value=B>B</OPTION> <OPTION value=C>C</OPTION> <OPTION value=D>D</OPTION> <OPTION value=OS>OS</OPTION></SELECT> </TD>
            <TD vAlign=top width="10%" align=middle><FONT color=black size=2><B>Age</B> </FONT></TD>
            <TD vAlign=top width="10%" align=left><INPUT onblur="this.style.backgroundColor='#fff'" class=input_0_212099594_990000 onfocus="this.style.backgroundColor='#ccc'" size=15 value=23 name=osi_cd> </TD>
            <TD width="1%"></TD>
            <TD class=input_0_212099594_990000 width="10%">22</TD>
            <TD class=input_0_212099594_990000 width="30%"></TD>
        </TR>
    </TBODY>
</TABLE>                        
</DIV>
4

2 回答 2

0
$(document).ready(function () {
    var ow_id = $('#ow_id').val();
    var bsn_code = $('#bsn_code').val();
    var osi_cd = $('#osi_cd').val();
    alert('ID: ' + ow_id + ', NAME: ' + bsn_code + ', AGE: ' + osi_cd);
});

这是小提琴:http: //jsfiddle.net/collabcoders/NQ5jf/

于 2012-07-24T17:40:28.537 回答
0

序列化将为您提供给定元素/表单中输入的名称/值

给你留下一个字符串,osi_cd=21&bsn_code=[SELECTED.VALUE]&....基本上是一个基于输入名称和输入值的键/值对。我认为输入类型与序列化无关。

如果您想要捕获的不仅仅是您需要手动循环浏览表单中的元素,那么请构建您自己的字符串以在此基础上发布。

附带说明一下,您的 HTML 不是很有效,并且可能会在某些浏览器上引起一些问题,尤其是一些较旧的浏览器。所有自定义属性或其他属性都应始终为小写并用双引号括起来

示例: <input name="something" class="colorme" id="whatever" rel="something_else">那么还取决于您选择的 HTML 格式,即:XHTML、HTML5 等。你必须补偿那些有效的东西。W3C 有一个很好的验证页面,你可以提供一个 URL,它会验证 HTML(如果你希望搜索引擎不惩罚你并给你一个较低的索引,这很好,也可以在使用 javascript/jquery 时避免一些头痛在将来)

不过,总的来说,您可以通过一些自定义编码来模仿序列化。例如在给定的包含元素或表单标签中循环元素,并在该循环中构建一个更适合您发布需求的字符串。

或者,您也可以使用“隐藏”元素来运行序列化,这将从每个元素中获取对并相应地构建字符串。最后,虽然它不会类似于序列化和传递数据,但需要在某处应用一些自定义逻辑。相应地处理数据。就我个人而言,我会构建一个多维数组,然后根据我从您的帖子中收集到的内容进行发布。

于 2012-07-24T17:43:29.267 回答