使用PHP/JavaScript使隐藏输入值依赖于单选按钮的选择


Make hidden input value depend on radio button selection using PHP/JavaScript

我想弄清楚如何使以下形式的逻辑工作。基本上,如果选中了前两个单选按钮中的任何一个,则将命名为categories的隐藏输入设置为vegetables值。否则,将隐藏输入命名为categories的值设为fruits。

我不确定这是否应该用PHP或JavaScript完成,但如果它是用PHP完成的,我认为表单必须提交给自己进行预处理,然后收集,预处理的信息将发送到external_form_processor.php。如果您是这样做的,那么我需要使用哪些PHP代码才能使其工作?

<?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>

如果使用jQuery会更容易,我怎么能调用变量作为隐藏输入的值,如果我在页面的头部使用以下内容?

$(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会很适合你,你只需要将类别值传递给输入字段:

$(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);
    });
});

我将在提交表单时在PHP中设置类别。<>前//验证输入……总是$food = ";如果收取($ _GET['食物'])){$食品= preg_replace ("/[^ a-zA-Z ]+/", ", $_ [‘食物’]);}(类别=美元食品= ="豌豆"| | $食品= ="胡萝卜")?"蔬菜":"水果";