我在一页上有多个这样的表单:
<form method="post" action="#">
<input type="hidden" name="product_id" value="'.$item['articlenumber'].'" />
<input type="text" name="update_quantity" value="'.$pg->quantity.'" />
<input type="hidden" name="packing" value="'.$item['packing'].'" />
<input type="hidden" name="unit" value="'.$item['unit'].'" />
<input type="submit" name="addtocart" value="Update" />
</form>
我在底部有一个提交按钮:
<input name='placeorder' type='submit' value='Place order' />
当我按下提交按钮时,如何检查所有表格?我需要验证给出的输入是否正确。
更新
我现在从 JavaScript 中的表单中获取了所有值,并且验证是正确的。现在我想将变量存储到 PHP SESSIONS 中。我看到了 Ben 的答案,如果 PHP 中的值现在在 JavaScript 中,那将起作用。我在其他页面上需要它们,所以我认为会话将是这里最好的事情(如果没有,欢迎其他建议(。
我看到了这个答案,他们说这不可能在一页上。我理解这一点,因为PHP是服务器端和Javascript客户端。这是将Javascript变量发送到PHP的唯一可能方法吗?
好的,首先你应该删除输入上的type='submit'
。所以把它改成:
<input name='placeorder' value='Place order' />
然后你只需要添加一个javascript函数来验证。
$(document).ready(function() {
$("input [name='placeorder']").click(function() {
var formOK = true;
$("form input").each(function(index, element) {
var value = $(element).val();
if (value != "OK") {
formOK = false;
}
});
if (formOK) {
submitForms();
} else {
alert("Form Input Inccorect");
}
});
});
function submitForms() {
$("#form1").add("#form2").submit();
}
关于您在会话变量中存储表单数据的问题 尝试以下操作:
session_start();
if (isset($_POST['placeorder'])) {
$_session['ProductID'] = $_POST['product_id'];
$_session['UpdateQuantity'] = $_POST['update_quantity'];
$_session['Packing'] = $_POST['packing'];
$_session['Unit'] = $_POST['unit'];
}
希望有帮助
这两个答案都对我有所帮助,但我需要将它们结合起来,所以我最终得到了如下所示的解决方案。我通过输入的唯一名称从输入中获取值,如下所示:
var sizeS25 = parseInt($("input[name='size-s25']").val(), 10) || 0;
var sizeM25 = parseInt($("input[name='size-m25']").val(), 10) || 0;
然后我将变量发送到 PHP 文件:
window.location.href = "phpsessions.php?sizeS25=" + sizeS25 + "&sizeM25=" + sizeM25;
在PHP文件中,我将变量设置为会话:
$_SESSION['sizeS25'] = $_GET['sizeS25'];
$_SESSION['sizeM25'] = $_GET['sizeM25'];