【问题标题】:DOM form value manipulationDOM 表单值操作
【发布时间】:2016-01-12 08:28:27
【问题描述】:

我有一个小问题,假设我的表单中有三个单选按钮来选择三个图像之一。

<input type="radio" value="1.jpg" />
<input type="radio" value="2.jpg" />
<input type="radio" value="3.jpg" />

在我提交表单之前,我操作 DOM 并将第一个单选的值设置为 10,我该如何处理这个问题?

如果 20.jpg 存在,我肯定可以用 php 检查,但是还有其他解决方案吗?

感谢您的帮助

【问题讨论】:

  • 那么您的问题到底是什么?您想知道如何将第一个收音机的值设置为10 还是要检查所选收音机的值是否不是20.jpg
  • 在单选按钮中设置名称属性。在服务器端保留一组可能的值(例如 1、2、3)。当数据发布到服务器时,检查数组中是否有传入值。

标签: javascript php dom


【解决方案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" />

服务器端 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
}

【讨论】:

    【解决方案2】:

    听起来您想确保用户不能更改通过表单提交的值;即,您要确保该值为1.jpg2.jpg3.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 验证客户端。您可能希望使用库来执行此操作,或修改您的问题以寻求帮助。

    【讨论】:

      猜你喜欢
      • 2021-05-09
      • 1970-01-01
      • 2017-02-21
      • 1970-01-01
      • 2022-09-30
      • 2013-09-22
      • 2022-11-23
      • 2011-02-19
      • 2011-11-04
      相关资源
      最近更新 更多