0

フォーム要素から名前と値を取得するにはどうすればよいですか?

例:id=110kgod, checkbox=cancel, name=aj, age=23 シリアル化について聞いたことがあるような出力が必要ですが、それを適用できますか?

<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

Serializeは、指定された要素/フォーム内の入力の名前/値を提供します

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 に答える