2012-03-12 17 views
0

入力配列の値を読み取ってバックエンドPHPに渡そうとしていますが、これを取得できません。POSTによる入力配列値のPHPへの送信

<input name='field[]' class='myclass' value='test1'> 
<input name='field[]' class='myclass' value='test2'> 
<input name='field[]' class='myclass' value='test3'> 

<input id='post_this_val' type='button' value='Post'> 

私は私のバックエンドのPHPにjQueryとPOSTの値で、これらの値を読みたい、その結果を処理します: は、私は次のHTMLを持っています。

$('#post_this_val').live('click', function() { 
    var inpVal = $('input.myclass').map(function(i, el) { 
          return el.value; 
        }); 
    $.post('/my/php/function', {data: inpVal}); 
}); 

上記のPOSTは、私のPHP関数も呼ば​​取得されていないとページが単純にPOST]ボタンをクリックする上でリロードするworking-されていません。これは私が何をすべきかです。提案してください。

+0

あなたは "偽を返す"がありません。 –

答えて

4

フォーム値を取得する最も簡単な方法は、フォームに入力をラップし、送信イベントをバインドし、.serialize()メソッドを使用する方法です。このメソッドを使うことの利点は、入力タイプがtextでsubmitのフォームを持っていて、ユーザーがenterを使ってサブミットしているのか、サブミットボタンをクリックしているのかにかかわらず、ハンドラは依然として呼び出されます。

HTML:

<form id="myForm"> 
    <input name='field[]' class='myclass' value='test1'> 
    <input name='field[]' class='myclass' value='test2'> 
    <input name='field[]' class='myclass' value='test3'> 
    <input id='post_this_val' type='button' value='Post'> 
</form> 

JS:

$('#myForm').live('submit', function(e) { 
    $.post('/my/php/function', $(this).serialize()); 
    e.preventDefault(); 
    return false; 
}); 
+0

それは、ありがとう! – Ninja

0

だけアンドレアスの良い答えに追加するには、時々、複雑な問題は、エラーの最も簡単なことで引き起こされます。

構文とすべてを確認したら、Firebugをインストールして、何が起こっているのかを確認することをお勧めします。

Firebugのネットパネルでは、投稿が成功したかどうか、応答があったかどうかを確認できます。

この場合、URLのスペルが間違っていてスペルの間違いがあると、エラーが発生する可能性があります。

Firebugは原因に関係なく、これらのエラーを特定するのに役立ちます。

希望すると便利です。

幸運を祈る!

関連する問題