我有一个小问题,假设我的表单中有三个单选按钮,可以选择三个图像中的一个。
<input type="radio" value="1.jpg" />
<input type="radio" value="2.jpg" />
<input type="radio" value="3.jpg" />
在我提交表单之前我操纵DOM并将第一个收音机的值设置为10我该如何处理这个问题?
我肯定可以用php检查20.jpg是否存在,但还有其他解决方案吗?
感谢您的帮助
答案 0 :(得分:1)
如果要接受可能期望值内的值,则需要将其存储在服务器端。在表单数据发布到服务器中时,您可以检查传入值是否在可能的值范围内。
<input name="myInput" type="radio" value="1.jpg" />
<input name="myInput" type="radio" value="2.jpg" />
<input name="myInput" type="radio" value="3.jpg" />
Sever side PHP:
$arr_values = ["1.jpg", "2.jpg", "3.jpg"]
if isset($_REQUEST["myInput"]) && in_array($_REQUEST["myInput"], $arr_values) {
// Do your stuff (values within array)
}
else {
// invalid value
}
答案 1 :(得分:0)
听起来您希望确保用户无法更改通过表单提交的值;即,您希望确保该值为1.jpg
,2.jpg
或3.jpg
。假设这是正确的:
您需要在@AwaidLiton中为您的无线电添加name
属性,以便PHP可以通过$_POST
变量(使用表单中的数据填充)来获取值:
<input name="image" type="radio" value="1.jpg" />
<input name="image" type="radio" value="2.jpg" />
<input name="image" type="radio" value="3.jpg" />
您需要至少在服务器端验证这一点,即使用PHP。这样的事情(假设您的表单使用method="POST"
:
// Check if image submitted
if (!empty($_POST['image']) {
$valid_values = array('1.jpg', '2,jpg', '3.jpg');
if (in_array($_POST['image'], $valid_values) {
// Value is valid, continue doing whatever
} else {
// Value is invalid, notify user/show error message
}
}
这显然是一个非常简单的例子,但你明白了。
您还可以使用JavaScript验证客户端。您可能希望使用库来执行此操作,或修改您的问题以寻求帮助。