我有一個列表(一個簡單列表),我可以從中選擇和設置元素(使用js),然後是一個表單,允許我選擇多少個元素以及一個提交表單。如果沒有選擇一個元素,那麼會有一個引發異常的腳本。問題是,我希望表單不提交,如果沒有選擇一個元素,但不拋出一個異常,但向我展示一個消息提交按鈕(使用jQuery)。我下面的腳本:提交表單之前的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";
}
JavaScript在瀏覽器中看到並呈現的html上。你可以發佈該頁面的相關html(查看源代碼)? – 2011-05-01 22:21:34
嗯..想法是:我只是想添加一個jQuery的事件監聽器到該窗體。因此,如果我嘗試在沒有從列表中選擇一個事件的情況下提交它,就會出現一個消息,而不是不提交表單......它可以是possbile嗎?謝謝! – dana 2011-05-02 08:05:54
我想看到一些呈現的html輸出以及 – netbrain 2011-05-02 09:50:04