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