簡體   English   中英

禁用提交按鈕

[英]Disabling the Submit button

我有一個包含幾個元素的表單,其中一個是選擇值元素。但是我所做的是我已經附加了必須在選擇菜單上顯示的數量,其數量來自數據庫。

例:

假設我在數據庫中設置了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"/>';
                    }
                    ?>

在javascript部分中,我設置了一個函數,該函數將表單提交到php文件並加載其響應文本。

碼:

$(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啟用/禁用按鈕。

使用此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
});
 $(document).on('submit','#submitform',function(event){
        event.preventDefault();
        var input=$("#submitform :input[name='product_qty']").val();
        if(input==null)
            $(this).find('button[type=submit]').prop('disabled', true);
   }

這就是我所做的。它的工作原理。但是這樣做不是正確的方法,但是它確實可以完成工作。停止提交按鈕以發送任何請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM