2012-05-08 4 views
0

mootoolsを使用してHTMLセレクタボックスからオプションを選択すると、非同期JSONリクエストをトリガしようとしています。 Mootoolsを使用してセレクタボックスでJSONリクエストをトリガーする

I持って、次のフォーム要素:私は、次のPHPスクリプトにフォーム情報

window.addEvent('domready', function() 
{ 

$('_selecor_id').addEvent('click', function(){ 

    new Request.JSON({ 
    url: "my_php_script.php", 
    onSuccess: function(response) 
    { 
     $('response').set('html', response.params) 
    } 
    }).get($('sel')); 
}) 
}); 

を運ぶJSONリクエストを送信するには、次のjavascriipt/MooToolsのを使用してい

<form method="post" id="sel"> 
<select id = "_selecor_id" size=3> 
    <option value = "value_a" id = "option_a">OptionA</option> 
    <option value = "value_b" id = "option_b">OptionB</option> 
</select> 
<p id="response"></p> 
</form> 

$result['params'] = $_GET; 
echo json_encode($result); 

しかし、Chromeの開発者ツールでは、nullの 'params'プロパティを読み取ることができません ここでリクエストが 'null'になっている理由がわかりません。

window.addEvent('domready', function(){ 
    $('_selecor_id').addEvent('click', function(){ 
     new Request.JSON({ 
      url: "my_php_script.php", 
      onSuccess: function(response){ 
       $('response').set('html',(response || this.response || this.responseText || {params: ''}).params) 
      } 
     }).get($('sel')); 
    }) 
}); 
+0

'に.get($( "SEL"))'ですvoid - 要素ではなく、値を渡す必要があります。値のストアも必要です。 –

答えて

1

男ねえ、あなたの質問への答えは質問自体にあります。 任意のアイデアを大幅に

+0

AWESOME。ありがとうございました! – rocketas

+0

問題はありません。あなたの問題は解決されてうれしいです:D。できれば受け入れてください、ありがとうございます。 –

0

このコードを試してみてくださいいただければ幸いです。

はあなたの間違っただろう選択の

クリック「オプションを選択し、」言ったようにするときに選択した上でクリックしているイベントをトリガする、しかしので、あなたが探しているものを選択してしてオプションをクリックしますJAVASCRIPTを

HTML

// Notice no form tag needed unless you are serializing other items 
<select id = "_selecor_id" size=3> 
    <option value = "value_a" id = "option_a">OptionA</option> 
    <option value = "value_b" id = "option_b">OptionB</option> 
</select> 
<p id="response"></p> 

:のための次のようなコードは次のようになりonChangeイベントであります

$result['params'] = isset($_GET['value']) ? $_GET['value'] : 'Not Set'; 
echo json_encode($result); 
window.addEvent('domready', function(){ 
    $('_selecor_id').addEvent('change', function(){ 
     new Request.JSON({ // This must return a valid json object 
      url: "my_php_script.php", 
      data: { 
       'value': this.get('value') 
      } 
      onSuccess: function(responseJSON, responseText){ 
       $('response').set('html',responseJSON.params); 
      } 
     }).send(); 
    }) 
}); 

PHPはresponseJson変数は現在のようなものが含まれます{ "のparamsを": "value_b"}

+0

クール、あなたがそれを行うことができるか分からなかった – rocketas

関連する問題