-2

私はWeb開発に比較的慣れていません。Web サイトに HTML、jQuery、および PHP を使用しています。フォームを設計し、次の方法で検証したいと考えています。

  • 入力ボックスを持つ単純な Web ページ - 2 行と 10 行。つまり、キー = 値 | 「キー」用の 1 つの入力ボックスと「値」用の 1 つの入力ボックス

  • このフォームの下に、「送信」ボタンがあるはずです

  • 送信ボタンのアクションは、www.abc.com/samplephp?key1=value1&key2=value2&……&key10=value10 のように URL を生成する必要があります。

  • Key=Value は、null でない場合にのみ追加する必要があります

  • URL が作成されて送信されると、php スクリプトは受信したすべての GET パラメータを処理し、それらを DB のテーブルに保存する必要があります。

この方法でフォームを作成し、jQuery を使用して所定の要件に従って検証するのを手伝ってくれる人はいますか? 私が直面している主な問題は、テキスト フィールド名に名前を付け、jQuery でそれらにアクセスすることです。私はこの作業で完全にめちゃくちゃになりました。上記の4つの条件を満たすために、私を助けてください。5つ目の要件は自分でやります。前もって感謝します。

4

2 に答える 2

1

のようにしてみてください、

PHP

<?php
   $querystring=explode('&',$_SERVER['QUERY_STRING']);
   $newData=array();
   foreach($querystring as $keyPair)
   {
       $kparr=explode('=',$keyPair);
       $key=trim($kparr[0]);
       $value=trim($kparr[1]);
       if($key and $value)
       {
          $newData[$key]=$value;
       }
   }
   print_r($newData);// your final array having valid key values
?>

HTML

<form action="#" method="GET" onsubmit="return false">
    <div>
        <input type="text" name="key[]" value="key1" />&nbsp;<input type="text" name="value[]" value="value1" />
    </div>
    <div>
        <input type="text" name="key[]" value="key2" />&nbsp;<input type="text" name="value[]" value="value2" />
    </div>
    <div>
        <input type="text" name="key[]" value="key3" />&nbsp;<input type="text" name="value[]" value="value2" />
    </div>
    <div>
        <input type="submit" id="btnSubmit" value="Save" />
    </div>
</form>

脚本

$(function(){
    $('#btnSubmit').on('click',function(){
        var qs=[];
        $('input[name="key[]"]').each(function(index){
            k=$(this).val();
            v=$('input[name="value[]"]:eq('+index+')').val();
            if(k && v){// only for non-empty key value pair
                qs.push(k+'='+v);
            }
        });
        alert(qs.join('&'));
        return false;
    });
});

フィドル http://jsfiddle.net/PdkSd/1

于 2013-09-12T11:43:33.437 に答える
0

これを試して。

var Keyvalues = ""; 

$("input[type=text]").each(function(){ if($.trim($(this).val()) != ""){
Keyvalues = Keyvalues + $(this).attr("id") + "=" + $(this).val() + "&";
}
 });
Keyvalues = Keyvalues.substring(0, Keyvalues.length - 1); 

alert(Keyvalues);
于 2013-09-12T11:43:52.873 に答える