0

フォーム内のすべてのチェックボックスを php ページに投稿する関数を作成したいと思います。PHP ページは何らかの処理を行い、aa 値を返します。値は、結果と呼ばれる設定された div に表示されます。彼らが行うすべてのチェックは、フォームを投稿して何かを返します。(値は、他に何を確認するか、またはフォームを正しく完了するために何をしなければならないかをユーザーに伝えます)

私のコードは、その前にチェックされた他のチェックボックスではなく、チェックされた1つのチェックボックスのみを送信します。

誰か助けてくれませんか...

ありがとう!!

フォームは次のようになり、さらに多くのチェックボックスが表示されます。

<input name="picture[1][categories][]" type="checkbox" value=1>
<input name="picture[1][categories][]" type="checkbox" value=2>
<input name="picture[2][categories][]" type="checkbox" value=1>
<input name="picture[2][categories][]" type="checkbox" value=2>
<input name="picture[3][categories][]" type="checkbox" value=1>
<input name="picture[3][categories][]" type="checkbox" value=2>
<div id="result">

私のjquery関数は次のようになります

$("input").click(function() {
    event.preventDefault();

    $("#result").html('');

    var values = $("checkbox").serialize();

    $.ajax({ url: 'http://example.com/check.php',
         data: values,
         type: 'post',
         success: function(output) {
                      // alert(output);
                       $("#result").html(output);
                  }
    });


});
4

2 に答える 2

0

すべてのチェックボックスをフォームに入れ、フォームで $("#form").serialize() を試してください。

そして2番目に、チェックされているものだけにチェックボックスが送信されると思います。これはあなたを助けるかもしれないと思います。

私が理解できない3番目のことは、重複したチェックボックスがある理由です。つまり、すべてが同じ名前と値で2回あるということですか?

于 2013-03-14T10:23:55.283 に答える
0

より簡単な方法は、フォームを php スクリプトに送信する前にクライアント サイトの検証を使用することです。そうすれば、ユーザーが送信を押すたびにサーバー呼び出しを継続的に行うのではなく、データが有効な場合にのみ実行できます。

検証スクリプトを呼び出す送信ボタンを使用し、成功した場合はデータを php スクリプトに送信します。例えば

あなたのhtml

<button id="submit" onclick="validateForm()">Submit</button> 

あなたのjs/jqueryで

$(document).ready(function(){

    $('#submit').click(function(){
        if(validateForm){

        //send form to php script for further processing
        var formData = $('form').serialize();
        $.post('yourScript.php',formData,formSent);//your script, form data, callback function
        }//end if
    });//end click funciton

});//end document ready

function validateForm(){
    $('form').find('input').each(function() {
    //validate each input item in your form
    //highlight any input errors
    }//end each
   // and return true or false based on the results
   return result;
}//end validateForm

function formSent(data){
    alert('Form has been sent!');
    //display returned data from php script into your results div
    $('#yourDiv').html(data);

}//end formSent

お役に立てれば...

于 2013-03-14T06:54:54.050 に答える