【问题标题】:HTML $_POST questionsHTML $_POST 问题
【发布时间】:2011-01-28 15:48:14
【问题描述】:

我目前有一个表单,在表单下方,我有一个复选框和一些单选按钮。这是复选框和单选按钮的代码:

<li id="discountCheckbox"       class="     ">
    <label class="desc" id="title416" for="Field416">
        Discounts Available:
            </label>
    <div>
        <span>
    <input id="discountCheckbox"        name="discountCheckbox"         type="checkbox"         class="field checkbox"      value="Past Host Discount - 10%"        tabindex="12"                       />
    <label class="choice" for="Field416">Past Host Discount - 10%</label>
    </span>
        </div>
    </li>


<li id="shipping1"      class="     ">
<label class="desc" id="shippingChoice" name="shippingLabel" value="yahha" for="Field517_0">
    Shipping Options
        </label>
<div>
<input id="9281" name="9821" type="hidden" value="" />
    <span>
<input id="shipping1"       name="shipping1"        type="radio"        class="field radio"         value="cost"        tabindex="13"                        checked="checked"      onclick="setShippingSpan('$2.00');"             />
<label class="choice" for="Field517_0"      >
    $2.00 Shipping Fee</label>
    </span>
    <span>
<input id="shipping2"       name="shipping1"        type="radio"        class="field radio"         value="free"        tabindex="14"           onclick="setShippingSpan('$0.00');"                 />
<label class="choice" for="Field517_1"      >
    I will pick up the items (free shipping)</label>
    </span>
    </div>
</li>

在提交表单时,我有一个正在运行的文件 process.php。在该文件中,我使用$_POST["discountCheckbox"] 获取复选框的值。但是,我不知道如何获取单选按钮的值(确定选择了哪一个)。 我该怎么做?

【问题讨论】:

  • 您有多个具有相同 ID 的元素。这是无效的 HTML。
  • 我已经解决了这个问题。现在我该怎么办?
  • 另外,清理您的 HTML 也很好,这样我们可以更快地为您提供帮助……这使得它有点难以阅读。最真诚的:)
  • 您写了$_POST,这意味着您使用的是PHP?这篇文章没有提到这一点,因为捕获值的解决方案包括使用 $_POST['shipping1'] 来获取单选按钮的值。例如看看这篇关于它的文章 (homeandlearn.co.uk/php/php4p10.html)

标签: javascript html forms post


【解决方案1】:

为所有单选按钮提供相同的名称,然后$_POST 中的该名称将具有所选单选按钮的值。

【讨论】:

  • 我给了他们同样的名字,那我该怎么做呢? (见更新的代码)
  • jsfiddle.net/6RATF 希望这会有所帮助。它使用 jquery 来获取值,但它应该在表单帖子的另一端大致相同。
【解决方案2】:

为单选按钮提供相同的名称但不同的值。提交表单时,只需检查 $_POST 数组中该名称的值,即可查找选择的值。

【讨论】:

  • 见上面的代码。我已将其更新为具有相同的名称。现在的代码会是什么样子?
  • $_POST['shipping1'] 现在将评估用户在提交表单之前选择的任何单选按钮。
【解决方案3】:

我相信radio 类型的input 元素应该共享一个共同的name 属性,并通过它们的value 属性来区分。然后,在您的 PHP 代码中,您将检查由名称索引的 $_POST[] 的值,该名称应包含所选单选按钮的值。

【讨论】:

  • 我已经更新了代码,以便 radio 类型的元素具有相同的通用名称。你能告诉我如何使用 $_POST 吗?
  • @reising1: $_POST["shipping1"] 应该在此代码发布时包含值“cost”,假设单选按钮保持选中状态。否则,它应该包含“免费”(或您添加到该单选按钮的任何其他内容)。
  • @reising1:定义“不工作”。该数组元素中的值是什么? $_POST 数组中有哪些元素?
  • 在我的 php 代码中,我有: if($_POST["shipping1"]=="cost") { $response = $response 。 "运费:$$2.00
    "; },这不起作用
  • @reising1:“不起作用”仍然模棱两可。执行此代码时,$_POST["shipping1"] 中包含什么值?
【解决方案4】:

通过为所有单选按钮指定相同的名称,您将在 $_POST[name] 变量中获得所选单选按钮的值。

<input name="shipping" value="something" type="radio" />

echo $_POST['shipping']; // echoes "something"

【讨论】:

  • 我已更新代码以保持名称一致。你能告诉我现在的代码是什么样的吗?
  • 它们都有名称 shipping1,因此要使用的变量是“$_POST['shipping1']”。这将保存所选单选按钮的值,在本例中为“成本”或“免费”
  • 在我的 php 代码中我有 if($_POST["shipping1"]=="cost") { $response = $response 。 "运费:$$2.00
    "; $大 += 2; },但即使我使用正确的单选按钮提交也不起作用
  • 事实上,我打印出 $response = $response 。 “价值是:”。 $_POST["shipping1"] 。 "
    ";在冒号后打印一个空白
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-06
  • 1970-01-01
  • 2011-07-01
相关资源
最近更新 更多