Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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 禁用提交按钮_Javascript_Jquery_Html_Forms - Fatal编程技术网

Javascript 禁用提交按钮

Javascript 禁用提交按钮,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个表单,其中包含几个元素,其中一个是select value元素。但是我所做的是,我附加了必须显示在select菜单上的数量,其值来自数据库 示例: <?php if(@$dbqty>=10) { $selectbox='<p> Quantity: <select name="product_qty"&

我有一个表单,其中包含几个元素,其中一个是select value元素。但是我所做的是,我附加了必须显示在select菜单上的数量,其值来自数据库

示例:

               <?php
                    if(@$dbqty>=10)
                    {
                        $selectbox='<p> Quantity:  <select name="product_qty">';
                        for($i=1;$i<=10;$i++)
                        {
                            $selectbox.='<option value="'.$i.'">'.$i.'</option>';
                        }
                        $selectbox.='</select></p>';
                        echo $selectbox;
                    }
                    else if(@$dbqty<10 && @$dbqty>0)
                    {
                        $selectbox='<p> Quantity:  <select name="product_qty">';
                        for($i=1;$i<=@$dbqty;$i++)
                        {
                            $selectbox.='<option value="'.$i.'">'.$i.'</option>';
                        }
                        $selectbox.='</select></p>';
                        echo $selectbox;

                    }
                    if(@$dbqty==null || @$dbqty==0)
                    {
                        echo '<input type="button" name="product_qty" value="Sold Out" disabled="disabled"/>';
                    }
                    ?>
$(document).ready(function(){
$(document).on('submit','#submitform',function(event){
    event.preventDefault();
    var button_content = $(this).find('button[type=submit]');
    button_content.html('Adding...');
    var data=$(this).serialize();
    $.ajax({
        type:'POST',
        url:'../cart/index.php',
        data:data,
        success : function(content)
        {
            if ($('#ajaxview').find('#popupcart')) {
                $('#popupcart').hide();

                $('#ajaxview').append(content);
                button_content.html('Add');
            }
            else
            {
                $('#ajaxview').append(content);
                button_content.html('Add');
            }

        }
    })
})
})    
假设我在数据库中为数量设置了10,那么select元素将显示1-10之间的选项

代码:

               <?php
                    if(@$dbqty>=10)
                    {
                        $selectbox='<p> Quantity:  <select name="product_qty">';
                        for($i=1;$i<=10;$i++)
                        {
                            $selectbox.='<option value="'.$i.'">'.$i.'</option>';
                        }
                        $selectbox.='</select></p>';
                        echo $selectbox;
                    }
                    else if(@$dbqty<10 && @$dbqty>0)
                    {
                        $selectbox='<p> Quantity:  <select name="product_qty">';
                        for($i=1;$i<=@$dbqty;$i++)
                        {
                            $selectbox.='<option value="'.$i.'">'.$i.'</option>';
                        }
                        $selectbox.='</select></p>';
                        echo $selectbox;

                    }
                    if(@$dbqty==null || @$dbqty==0)
                    {
                        echo '<input type="button" name="product_qty" value="Sold Out" disabled="disabled"/>';
                    }
                    ?>
$(document).ready(function(){
$(document).on('submit','#submitform',function(event){
    event.preventDefault();
    var button_content = $(this).find('button[type=submit]');
    button_content.html('Adding...');
    var data=$(this).serialize();
    $.ajax({
        type:'POST',
        url:'../cart/index.php',
        data:data,
        success : function(content)
        {
            if ($('#ajaxview').find('#popupcart')) {
                $('#popupcart').hide();

                $('#ajaxview').append(content);
                button_content.html('Add');
            }
            else
            {
                $('#ajaxview').append(content);
                button_content.html('Add');
            }

        }
    })
})
})    
我想做的是,当商品的数量即将售完时,提交按钮将被禁用。这可能吗?如果是,那么怎么做呢


谢谢

在我看来,更好的方法是使用javascript从数据库获取数据,然后基于检索到的值,使用jQuery启用/禁用按钮。

在我看来,更好的方法是使用javascript从数据库获取数据,然后基于检索到的值,使用jQuery可启用/禁用按钮。

使用此jQuery可删除按钮上已售罄的提交事件

 $('input[value="Sold Out"]').on('click',function(e){
   e.preventDefault(); //stop the event
});
或者,如果元素是动态附加的,那么就必须使用委托事件处理程序来附加事件。如下

$(document).on('click','input[value="Sold Out"]',function(e){
   e.preventDefault(); //stop the event
});

使用此jquery可以删除按钮上的submit事件,该按钮的值已售罄

 $('input[value="Sold Out"]').on('click',function(e){
   e.preventDefault(); //stop the event
});
或者,如果元素是动态附加的,那么就必须使用委托事件处理程序来附加事件。如下

$(document).on('click','input[value="Sold Out"]',function(e){
   e.preventDefault(); //stop the event
});
这就是我所做的。它起作用了。但是这不是一个正确的方法,但它起作用了。停止提交按钮以发送任何请求


这就是我所做的。它起作用了。但是这不是一个正确的方法,但它起作用了。停止提交按钮发送任何请求。

在我看来。将db与Javascript连接不是一个好主意。安全问题。我的意思是使用AJAX调用从数据库获取数据,并使用jQuery在客户端进行所有处理。将db与Javascript连接不是一个好主意。安全问题。我的意思是使用AJAX调用从数据库获取数据,并使用jQuery在客户端进行所有处理。你认为我的理解是错误的吗??我认为如果值售罄,您希望停止提交表单如果按钮位于表单内部,并且您的目标是停止表单提交,那么这必须起作用。可能首先绑定的事件将首先执行,因此表单将提交,然后触发此事件。你能发布生成的HTMl吗?你认为我的理解错了吗??我认为如果值售罄,您希望停止提交表单如果按钮位于表单内部,并且您的目标是停止表单提交,那么这必须起作用。可能首先绑定的事件将首先执行,因此表单将提交,然后触发此事件。你能发布生成的HTMl吗?