У вас есть строковый литерал без кавычек:
alert(Please enter quantity);
Вы должны сказать:
alert("Please enter quantity");
// OR
alert('Please enter quantity');
(Когда вы говорите, что не можете отследить свою ошибку, что вы на самом деле пытались сделать? Если вы используете Chrome со встроенными средствами отладки, или для Firefox вы можете загрузить Firebug, и эти инструменты могут легко сообщить вам об ошибках, таких как это.)
И чтобы выгрузить следующий вопрос, как только вы исправите вышеуказанную ошибку, вы обнаружите, что, несмотря на то, что предупреждение отображает форму, она все еще отправляется. Вам нужно обновить onclick
, чтобы он возвращал результат вашей функции form_quantity()
, и возвращать false
, если вы не хотите, чтобы отправка продолжалась (т. Е. При наличии ошибки проверки):
<form name="product_form" id="product_form" method="post"
onsubmit="return form_quantity(<?php echo $productid; ?>);"></form>
<script>
function form_quantity(val){
var enteredqty = document.getElementById('quantity_'+val).value;
if(enteredqty === '') {
alert('Please enter quantity');
return false;
}
}
</script>