javascript - 如果输入是复选框,则捕获正确输入的值

标签 javascript jquery html

给定以下标记:

<input name="active" type="hidden" value="0" />
<input id="active" name="active" type="checkbox" value="1" />

当取消选中该复选框并提交表单时,服务器将获得“active”参数的值“0”。当选中该复选框并提交表单时,服务器将获得“active”参数的值“1”。这工作得很好。

我想要做的是基于此捕获 JavaScript 中的正确值。然而,诀窍是我不知道输入是否是复选框。就我的脚本而言,它只是作用于一组输入。

我在这里创建了一个 JSFiddle:http://jsfiddle.net/bcardarella/5QRjF/这说明了这个问题。

TL;DR 我想确保从每个输入捕获的值是发送到服务器的实际值。

最佳答案

不知道您是否真的想检查该复选框,但此代码有效:

$(function() {
    var getCheckBoxValue = function() {
        if ($('[name="active"]:checkbox').attr("checked")) {
            return $('[name="active"]:checkbox').val();
        } else {
            return $('[name="active"]').val();
            }
    }
    var result = $('#result');

    result.append($('<p/>', {text: 'Expected value 0, got: ' + getCheckBoxValue()}));

    $(':checkbox')[0].checked = true;

    result.append($('<p/>', {text: 'Expected value 1, got: ' + getCheckBoxValue()}));
});

基本上,如果选中该复选框,则使用它,否则,使用隐藏输入中的默认值。

编辑

将我的评论变成了 fiddle ,我还添加了另一个字段,一个文本字段,以更好地显示其背后的想法:http://jsfiddle.net/45qup/

希望对你有帮助!

关于javascript - 如果输入是复选框,则捕获正确输入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12695689/

相关文章:

html - 浏览器如何确定使用的编码?

javascript - 无法加载资源:net::ERR_NAME_NOT_RESOLVED

javascript - jquery表搜索;如何让搜索忽略可切换行并防止自动切换?

javascript - 必填字段和多步骤表单出现问题

javascript - 用另一个 HTML 页面替换 <div>

jquery - 如何同时为多个元素制作动画?

php - 剥离标签,但不剥离 <code> 内的标签

javascript - 从输入字段中获取值,计算并显示总计

javascript - 如何将属性值调用到javascript

jquery - :target not working to change text-color