私はPHPを使用してカート機構を作成し、JavaScriptの助けを借りて検証を行っており、検証は機能していません。フォーム検証が期待通りに機能しない
これは私の実際のPHPスクリプトです:
$result = mysqli_query($conn, "SELECT * FROM products");
while($row = mysqli_fetch_array($result)){
$fieldidval[] = $row['product_id'];
$fieldnameval[] = $row['product_name'];
$fieldcostval[] = $row['product_cost'];
$fieldimgval[] = $row['product_image'];
$fielddescval[] = $row['product_description'];
}
//printing field values
for($i = 0; $i < mysqli_num_rows($result); $i++){
echo "<tr><form action = 'cart.php?pid=" . $fieldidval[$i] . "&name=" .$fieldnameval[$i] . "&cost=" . $fieldcostval[$i] . "' method = 'post' name = 'tocart' onsubmit = 'return(validateAll());'><td>" . $fieldnameval[$i] . "</td><td>" . $fieldcostval[$i] . "</td><td>" . $fieldimgval[$i] . "</td><td>" . $fielddescval[$i] . "</td><td><input type = 'text' name ='qty_input[$i]' ></td><td><input type = 'submit' name = 'submit'></td></form></tr>"; }
、これはJavaScriptで私の検証です:
function validateAll(){
if(document.tocart.qty_input[0].value == ""){
alert("Please enter a valid number");
document.tocart.qty_input.focus();
return false;
}
私は何も動作submitをクリックすると。
を使用することによって回避することができます - 問題はJSクライアント側であるので、我々はPHPを気にしないし。 [mcve] – mplungjan
を作成してください: 'onsubmit = 'return validateAll(this);'' 'validateAll(form){var qty_input = form [" qty_input [0] "];を使用してください。 if(qty_input.value == ""){alert( "有効な数字を入力してください"); qty_input.focus(); falseを返します。 }} ' – mplungjan
@mplungjan与えられたコードがありがとうございます。 –