我正在忙于一项任务,我必须建立一个网站,其中的用户应该至少订购1个产品,然后才能继续。我已经做到了这一点,使用这段javascript代码一切正常:
function validateForm()
{
var allEmpty = (document.forms['orderform'].PizzaMargherita.value == "" &&
document.forms['orderform'].PizzaFungi.value == "" &&
document.forms['orderform'].PizzaHawai.value == "" &&
document.forms['orderform'].PizzaQuattroStagioni.value == "" &&
document.forms['orderform'].PizzaCalzone.value == "" &&
document.forms['orderform'].BroodjeShoarma.value == "" &&
document.forms['orderform'].BroodjeDoner.value == "" &&
document.forms['orderform'].DurumDoner.value == "" &&
document.forms['orderform'].KnoflookSaus.value == "" &&
document.forms['orderform'].WhiskeySaus.value == "" &&
document.forms['orderform'].SambalSaus.value == "");
if(allEmpty)
{
document.forms[0].submit.disabled=true;
}
else {
document.forms[0].submit.disabled=false;
}
}
除了使用f12(显示源代码)并在输入字段中删除min="1"
之外,应该有某种安全性。
<tr>
<td>Pizza Margherita</td>
<td><input type="number" id="countMargherita" class="formnumbers" name="PizzaMargherita" onChange="validateForm(this);changeTotalFromCount(this);" min="1" max="99" data-unitprice="7"/></td>
<td><span id="totalMargherita"></span></td>
<td>€ 7.00</td>
</tr>
我真的不知道我应该怎么做,有人告诉我我应该使用javascript,但据我所知你可以删除onChange="validateForm(this);
,这样也不是很安全。我正在寻找一种方法,如果用户订购示例订单-2产品,它将阻止表单提交。或者只是输入一个错误。
使用f12无法删除或找不到的东西,我不知道我说的是否正确但据我所知你无法使用查看源代码找到PHP代码。
我在PHP或JS方面经验不足,所以非常感谢任何帮助!
答案 0 :(得分:1)
客户端验证只是为用户提供便利。绝对无法阻止恶意客户端发送古怪的值。
最好的办法是在服务器上进行验证,以确保所有值都合理,并在适当的情况下重定向回页面。
答案 1 :(得分:0)
尝试document.document.getElementById()::
function validateForm()
{
var allEmpty = (document.getElementById("PizzaMargherita").value == "" &&
document.getElementById("PizzaFungi").value == "" &&
document.getElementById("PizzaHawai").value == "" &&
document.getElementById("PizzaQuattroStagioni").value == "" &&
document.getElementById("PizzaCalzone").value == "" &&
document.getElementById("BroodjeShoarma").value == "" &&
document.getElementById("BroodjeDoner").value == "" &&
document.getElementById("DurumDoner").value == "" &&
document.getElementById("KnoflookSaus").value == "" &&
document.getElementById("WhiskeySaus").value == "" &&
document.getElementById("SambalSaus").value == "");
if(allEmpty)
{
document.forms[0].submit.disabled=true;
}
else {
document.forms[0].submit.disabled=false;
}
}