[英]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.