javascript - 使用隐藏输入将表单信息和附加变量从 HTML 发送到 PHP

标签 javascript php html forms input

我有一个 HTML 表单,我将它们的变量正确地发送到一个 PHP 文件。我有不同的容器,其中有几个与地理相关的选项。这意味着,用户可以在国家/地区/经济级别的显示数据之间进行选择。为了在 PHP 中了解哪种表示方式正在过滤用户,我想使用一个额外的隐藏输入,该输入的值为 1,2 或 3,具体取决于所选择的方式。我不想改变这个隐藏的输入值。

我使用以下代码:

<div class="popcountry">
        <div class="funcion" onclick="country_function();setGeo()">
        <h2 class="geography" style="text-align:center;" id="geoselect">Country
        <input type="hidden" name="geo">
        </h2>
        </div>
        <span class="popmenu"  id="countrypopmenu">
        <br>

        <label class="container" style="text-align:center" id="selectControlcountry"> <b>Clear</b>
            <input type="checkbox" id="selectall" />
            <span class="checkmark2" style="background-color:#F0FFF0"></span>
        </label>
        <div class="scrollbox2">
        <label class="container">Afghanistan
            <input type="checkbox" id="Afghanistan" name="country[]" value="Afghanistan" checked="checked">
            <span class="checkmark"></span>
        </label>
        <label class="container">Albania
            <input type="checkbox" id="Albania" name="country[]" value="Albania" checked="checked">
            <span class="checkmark"></span>
        </label>
...

    <div class="popregion">
    <div class="funcion"  onclick="region_function();setGeo2()">
    <h2 class="geography" style="text-align:center" id="geoselect">Region
    <input  type="hidden" name="geo">
    </h2>
    </div>
    <span class="popmenu"  id="regionpopmenu">
    <br>

    <label class="container" style="text-align:center" id="selectControlregion"> <b>Clear</b>
        <input type="checkbox"  id="selectall" />
        <span class="checkmark2" style="background-color:#F0FFF0"></span>
    </label>
    <label class="container">Africa
        <input type="checkbox" id="Africa" name="region[]" value="Africa" checked="checked">
        <span class="checkmark"></span>
    </label>
    <label class="container">Americas
        <input type="checkbox" id="Americas" name="region[]" value="Americas" checked="checked">
        <span class="checkmark"></span>
    </label>
...
    <div class="popclass">
    <div class="funcion" onclick="class_function();setGeo3()">
    <h2 class="geography" style="text-align:center" id="geoselect">Country Classification
    <input  type="hidden" name="geo">
    </h2>
    </div>
    <span class="popmenu"  id="classpopmenu">
    <br>

    <label class="container">Developed
        <input type="checkbox" id="Developed" name="classification[]" value="Developed" checked="checked">
        <span class="checkmark"></span>
    </label>
    <label class="container">Economies in transition
        <input type="checkbox" id="Economies in transition" name="classification[]" value="Economies in transition" checked="checked">
        <span class="checkmark"></span>
    </label>
...

函数在 javascript 中定义为:

function setGeo(){
        var geo =getElementByName("geo");
        geo.value= "1";
    }
    function setGeo2(){
        var geo =getElementByName("geo");
        geo.value = "2";
    }
    function setGeo3(){
        var geo =getElementByName("geo");
        geo.value = "3";
    }

有谁知道如何解决这个问题?提前致谢!

最佳答案

您的代码存在的问题是您发布的代码中有多个名为 geo 的元素。使用名称为 geo 的单个元素或使用不同的名称,如 geo1、geo2、geo3。 getElementsByName(name) 返回具有相同名称的元素的集合,因此,此外,索引引用是必要的。像 document.getElementsByName( 'elementname')[0];

关于javascript - 使用隐藏输入将表单信息和附加变量从 HTML 发送到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50811913/

相关文章:

php - 我如何使用 CodeIgniter ACL 库?

html - disabled 属性的正确值是多少?

javascript - 类星体 Spring Boot 部署

javascript - 尝试在 Javascript 中将元素添加到组中会导致 "... not an object."错误,即使该元素是对象

javascript - JQuery:为什么 hoverIntent 在这里不是函数?

variables - 使用 php.ini 声明全局变量

javascript 表单返回但无法正常工作

javascript - 基于滚动位置的动画

javascript - Chrome 扩展程序出错 - "Mixed Content: This request has been blocked; the content must be served over HTTPS"

php - 未选中的复选框返回空值