人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

JQueryの$postで選んだものだけで動かしたいのですが

$postはphpでデータベースから出したもののように、同じ要素(formのnameとかが)がたくさん表示されている場合、個別に指定してないと送れないようですがやり方がわかりません
例1
<form name = 'form'>
<input type='hidden' name='product_id' value='1'/>
<input type='hidden' name='product_name' value='りんご'/>
<input type='button' value='登録' onClick='get(); return false;'/>
</form>
<form name = 'form'>
<input type='hidden' name='product_id' value='2'/>
<input type='hidden' name='product_name' value='みかん'/>
<input type='button' value='登録' onClick='get(); return false;'/>
</form>


みたいに並んでいる場合

どのように指定すればよいでしょうか?


現状のjavascriptは

$(function(){

$(':button').click(function get(){

var product_id = document.form2.product_id.value;
var purduct_name = document.form2.product_name.value;

$.post('test.php',{ "id": product_id , "name":product_name },
function(output){
$('#test').html(output);
});
});

のうような感じで作っていますが、もちろん動かない状態です。
送り先にはechoなどでわかりやすく表示するようにしていますが、ダメでした。

javascriptは現在の形にはこだわりません。
コード付きでよろしくお願いします。

●質問者: robopit
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Lhankor_Mhy
●200ポイント ベストアンサー

Firefox7で動作確認

http://jsfiddle.net/7nnc7/


robopitさんのコメント
すいません、こちらでは動作確認がとれませんでした 出力先やphp側も確認したりechoするだけのものにしてみたのですが、動きませんでした。(chromeでもダメでした) 下のコメント欄に貼りつけておいときますので、見ていただけますか?

Lhankor_Mhyさんのコメント
コメント欄を受けまして追記します。 -documentのロードイベントを拾ってないです。 -jQueryを2回読み込んでいます。(これは害はないかも?)

Lhankor_Mhyさんのコメント
あ、3回読み込んでる…… >|| <script src="jquery-1.6.2.js" type="text/javascript"></script> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> ||< をどれか1行に。 >|| $(':button').click(function(){ var product_id = $(this).siblings('[name="product_id"]').val(); var product_name = $(this).siblings('[name="product_name"]').val(); $.post('test.php',{ "id": product_id , "name":product_name }, function(output){ $('#test').html(output); }); }); ||< を以下のように。 >|| $(function(){ $(':button').click(function(){ var product_id = $(this).siblings('[name="product_id"]').val(); var product_name = $(this).siblings('[name="product_name"]').val(); $.post('test.php',{ "id": product_id , "name":product_name }, function(output){ $('#test').html(output); }); }); }); ||< 結構typoとか凡ミスが多いと思うので、バグ取りもう少し頑張って自分でやった方が勉強になるかと思いますよ、などとおせっかいを申し上げておきます。

robopitさんのコメント
ありがとうございます。 動きました。 凡ミスに関しては、自分で思いこみのせいか気付かないことが多いので 何かツールを探してみます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ