gpt4 book ai didi

javascript - 提交表单前的jquery

转载 作者:可可西里 更新时间:2023-11-01 01:37:58 24 4
gpt4 key购买 nike

我有一个列表(一个简单的列表),我可以从中选择和设置元素(使用 js),然后是一个允许我选择我想要的元素数量的表单,以及一个提交表单。如果一个没有选择一个元素,有一个脚本抛出异常。问题是如果没有选择一个元素,我希望表单不提交,但不抛出异常,而是在提交按钮下显示一条消息(使用 jquery)。我的脚本如下:

<? foreach ($types as $type):?>
<ul class = "product_types">
<? if ($type->stock_2 > 0):?>
<li id = 'product_types'><a href="#" onclick='selecteazaElement(<?= $type->id; ?>,<?= $type->stock_2; ?>);'><?= $type->label; ?></a></li>
<? else: ?>
<li id = 'product_unavailable_types'><label><?= $type->label; ?></label></li>
<? endif; ?>

</ul>
<? endforeach; ?>
<form name="addtobasket" method="POST" action="<?= Route::url('Add to Basket', array('sale_id' => $sale->id)); ?>">
<input type="hidden" name="idOfSelectedItem" id="idOfSelectedItem" value="-1">
<select name="number" id="number">
<option value=0>Alege numarul de produse</option> </select>
<button type="submit" name = "submit" onclick="addtobasket";>Adauga in cos</button><br />
</form>

以及设置列表元素的js:

   <script type="text/javascript">
function selecteazaElement(id,stock)
{
document.addtobasket.idOfSelectedItem.value=id;
window["canSubmit"] = true;
var number23=document.addtobasket.number;
number23.options.length=0;
if (stock>=6)
stock=6;
for (i=1;i<=stock;i++)
{
//alert ('id: '+id+'; stock: '+stock);
number23.options[number23.options.length]=new Option(i, i);
}
//window.status="my status";
}

最佳答案

向表单添加一个submit 监听器。提交时,检查是否选择了一个元素,如果没有,您可以使用 return false 阻止提交。这是一个例子:

$('#myForm').submit(function()
{
if (/* test case not true */) {
$('#myError').show();
return false;
}

// ... continue work
});

这是 HTML:

<form id="myForm">
<input type="text"/>
<input type="submit"/>
</form>

如果你不想使用 jQuery,你也可以像这样用纯 JavaScript 处理提交事件:

var myform = document.getElementById('myForm');
myform.addEventListener('submit', function() { console.log('Submitted!'); return false; });

关于javascript - 提交表单前的jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5851819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com