我在一个页面上有多个这样的表单:
<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,那将会有效。我在其他页面上需要它们,所以我认为Sessions在这里是最好的(如果没有,欢迎其他建议)。
我看到了这个answer,他们说在一页上是不可能的。我理解,因为PHP是服务器端和Javascript客户端。这是将Javascript变量发送到PHP的唯一可能方法吗?
答案 0 :(得分:0)
好的,首先你应该删除输入上的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();
}
答案 1 :(得分:0)
关于将表单数据存储在会话变量中的问题请尝试以下几点:
session_start();
if (isset($_POST['placeorder'])) {
$_session['ProductID'] = $_POST['product_id'];
$_session['UpdateQuantity'] = $_POST['update_quantity'];
$_session['Packing'] = $_POST['packing'];
$_session['Unit'] = $_POST['unit'];
}
希望有所帮助
答案 2 :(得分:0)
这两个答案对我有所帮助,但我需要将它们结合起来,所以我最终得到了如下的解决方案。我从输入中得到了它们唯一名称的值,如下所示:
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'];