2011-07-18 5 views
0

私は次のような形でロジックを作成する方法を理解しようとしています。基本的に、最初の2つのラジオボタンのいずれかがチェックされている場合、カテゴリと呼ばれる隠し入力に野菜の値があるようにします。そうでなければ、カテゴリと呼ばれる隠された入力に果物の価値があるようにします。PHP/JavaScriptを使用したラジオボタンの選択によって隠された入力値を作成する

これはPHPやJavaScriptで行うべきかどうか分かりませんが、PHPで処理された場合は、フォームを前処理してから前処理しなければならないと思います情報はexternal_form_processor.phpに送られます。これを行う方法であれば、それを動作させるために必要なPHPコードは何でしょうか? jQueryのを使用している場合

<?php 
if($_POST["food"]=="carrots" || $_POST["food"]=="peas") { 
    $category = "vegetables"; 
} else { 
    $category = "fruits"; 
} 
?> 

<form name="food_form" method="post" action="external_form_processor.php" > 

<fieldset> 
<input type="radio" id="carrots" name="food" value="carrots" /> 
<input type="radio" id="peas" name="food" value="peas" /> 
<input type="radio" id="orange" name="food" value="orange" /> 
<input type="radio" id="apple" name="food" value="apple" /> 
<input type="radio" id="cherry" name="food" value="cherry" /> 
</fieldset> 

<input type="hidden" name="categories" value="<?php $category ?>" /> 

</form> 

は、私がページの先頭に次のように使用している場合、私は隠された入力の値として変数を呼び出すことができるか、容易になるだろうか?

$(function(){ 
    $('input[name=food]').click(function(){ 
     var selected_id = $('input[name=food]:checked').attr('id'); 
     if (selected_id == 'carrots' || selected_id == 'peas') { 
      var category = "vegetables"; 
     } else { 
      var category = "fruits"; 
     } 
    }); 
}); 

これについてのお手伝いをさせていただきます。ありがとう!私はjQueryのは、あなたのための完璧な仕事だと思う

答えて

1

は、あなただけの入力フィールドにカテゴリ値を渡す必要があります。

$(function(){ 
    $('input[name=food]').click(function(){ 
     var selected_id = $('input[name=food]:checked').attr('id'); 
     if (selected_id == 'carrots' || selected_id == 'peas') { 
      var category = "vegetables"; 
     } else { 
      var category = "fruits"; 
     } 
     $('input[name=categories]').val(category); 
    }); 
}); 
+0

驚くばかり!その最後の行は、私がそれを働かせるために必要なものでした。ありがとう! – Eric

1

フォームが送信されたとき、私はPHPでカテゴリを設定します。

//validate inputs... always 
    $food = ""; 
    if(isset($_GET['food'])){ 
     $food = preg_replace("/[^a-zA-Z]+/", "", $_GET['food']); 
    } 
    $category = ($food=="peas"||$food=="carrots")?"vegetables":"fruits";

+0

入力いただきありがとうございます!私はちょうどフォームと同じページにこれを置き、上記の私のPHPコードを置き換えますか? – Eric

関連する問題