Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML复选框onclick每次发送相同的值_Javascript_Php_Jquery - Fatal编程技术网

Javascript HTML复选框onclick每次发送相同的值

Javascript HTML复选框onclick每次发送相同的值,javascript,php,jquery,Javascript,Php,Jquery,我尝试使用两个带有value=“on”的复选框。另一个是在提交表格后的记忆。每次我点击这个复选框,他们都会发送“on” 我做错了什么? 这是我的密码 var rdt={ updateScroll:function(){ 警报('klick scroll:'+gbi('scrollit')。值); gbi('main').removeChild(gbi('icontent')); var ifr=document.createElement('iframe'); ifr.id='icontent

我尝试使用两个带有value=“on”的复选框。另一个是在提交表格后的记忆。每次我点击这个复选框,他们都会发送“on”

我做错了什么? 这是我的密码

var rdt={
updateScroll:function(){
警报('klick scroll:'+gbi('scrollit')。值);
gbi('main').removeChild(gbi('icontent'));
var ifr=document.createElement('iframe');
ifr.id='icontent';
ifr.src=gbi('urlinput')。值;
ifr.scrolling=(gbi('scrollit')。value='on')?'yes':'no';
gbi('scroll_hid')。值=(gbi('scrollit')。值='on')?'on':'off';
gbi(‘主’).appendChild(ifr);
resizeView();
}
}
函数gbi(iD){
返回文档.getElementById(iD);
}


这是因为您正在获取它的
,而它的
上。您必须在选中该值时获取该值,如下所示:

var value = null;
$('#scrollit').click(function(){
    if($(this).is('checked'))
    {
        value = $(this).val();
    }
});

在这种情况下,如果选中它,则会得到它的值,否则
null

复选框的主要目的是让用户知道要选中或取消选中的选项并不打算发送值

有关更多详细信息,请参阅此

这是主要问题

HTML输入元素允许您选择 表单(或非表单)中提交的单个值

您的问题的解决方案如下:您可以使用以下方法检查复选框的当前状态(即是否选中):

基于您的代码

gbi('scrollit').checked
var rdt={
updateScroll:function(){
警报('klick scroll:'+gbn('scrollit')。值);
gbi('main').removeChild(gbi('icontent'));
var ifr=document.createElement('iframe');
ifr.id='icontent';
ifr.src=gbi('urlinput')。值;
ifr.scrolling=(gbi('scrollit')。value='on')?'yes':'no';
gbi('scroll_hid')。值=(gbi('scrollit')。值='on')?'on':'off';
gbi(‘主’).appendChild(ifr);
resizeView();
}
}
函数gbi(iD){
返回文档.getElementById(iD);
}
函数gbn(名称){
var x=document.getElementsByName(名称);
var i;
var元素;
对于(i=0;i


添加一个小循环,使代码对我来说更清晰,并且已经可以工作了

updateScroll: 

    function() {


                gbi('main').removeChild(gbi('icontent'));
                var ifr = document.createElement('iframe');
                ifr.id='icontent';
                ifr.src=gbi('urlinput').value;

        if (gbi('scrollit').value=='on' && gbi('scroll_hid').value!='on')
        { ifr.scrolling='yes'; gbi('scroll_hid').value='on';}
        else
        { ifr.scrolling='no'; gbi('scroll_hid').value='';}

                //ifr.scrolling=(gbi('scrollit').value=='on')?'yes':'no';
                //gbi('scroll_hid').value=(gbi('scrollit').value=='on')?'on':'off';
                gbi('main').appendChild(ifr);
                rdt.resizeView();
            },
            rotate: function() {
                rdt.w = parseInt(gbi('icontent').style.width);
                rdt.h = parseInt(gbi('icontent').style.height);
                gbi('icontent').style.width=gbi('icontentfoot').style.width = rdt.h+'px';
                gbi('icontent').style.height = rdt.w+'px';
            }

嗨,我试着这么做:如果(gbi('scrollit').is('checked'){value=$(this).val();警报(“我在这里”);}但警报不会显示-我是否以错误的方式理解了你?对不起,我更新了我的代码,我的源代码中有两个复选框。对不起,我更新了我的代码,“我的源代码”中有两个复选框。@newbieRB无论如何,您是通过id访问的scrollit@newbieRB
document.getElementsByName(“滚动”)
获取值并对两个复选框使用“name=scroll”,并在可见性隐藏的情况下进行验证check@Samiel结果我得到了“[对象节点列表]”!?代码中的第二个复选框在哪里?