【问题标题】:Unable to get hidden form value into javascript variable无法将隐藏的表单值转换为 javascript 变量
【发布时间】:2015-07-30 14:08:05
【问题描述】:

我有一个包含多个字段的表单。隐藏字段之一的值与其他一些输入值一起在 URL 中传递,如下所示:

example.html#firstname=Homer&lastname=Simpson&itype=TARGET

我有一个 javascript 可以解析 URL,并且可以很好地填充表单。表单的输出包含从 url 传递的所有值,所以我知道变量正在传递给表单字段。

我的问题是 - 我希望能够设置一个 if 语句来根据 itype 的值更改其中一个标题的文本。

这是我的代码:

        var itypestuff = document.getElementById("itype").value;

        document.write ("<p>The value of the variable is " + itypestuff.value + "</p>");

        if( itypestuff == "TARGET" ){
           document.write("This is the target");
        }

        else{
           document.write("This is not the target");
        }

我添加了第一个 document.write 语句作为调试,它返回:变量的值未定义

itype 字段变量如下所示:

    <input type="hidden" name="itype" id="itype" value="">

有什么想法可以将 URL 中的变量放入我的 javascript 变量中,这样我就可以执行 if 语句了吗?

【问题讨论】:

  • 试试var itypestuff = document.getElementById("itype");(是的,那里没有值)
  • 如果在将代码从 url 中剥离出来时已经接触到代码中的值,为什么还需要从隐藏字段中读取值?在那一刻将它放在一个变量中,然后在稍后处理页面时使用它。这样你就可以完全跳过 DOM。
  • 我将其从 URL 中剥离并将其分配给表单变量的代码只是一个循环,因此它不会查看特定变量 - 它只是将它们全部分开并覆盖可见的空值和隐藏字段。

标签: javascript php jquery html forms


【解决方案1】:

改变

 document.write ("<p>The value of the variable is " + itypestuff.value + "</p>");

收件人

document.write ("<p>The value of the variable is " + itypestuff + "</p>");

改变

var itypestuff = document.getElementById("itype").value;

收件人

var itypestuff = document.getElementById("itype");
// And 
if( itypestuff.value == "TARGET" ){ //...

编辑

你必须像这样改变你的html:

<input type="hidden" name="itype" id="itype" value="<?= htmlspecialchars($_GET['itype']); ?>">

然后调用:example.php?firstname=Homer&lastname=Simpson&itype=TARGET

【讨论】:

  • 当我进行这些更改时 - document.write 语句返回空白(即变量的值是(这里没有))
  • 因为value="" 为空。在您的 HTML 中更改为:value="TARGET"
  • 问题是 - 我想从 URL 传递那个表单变量的值 - 所以它有时会是 TARGET - 但有时会是 MISSEDTARGET - 我希望它是动态的而不是固定的。就像我说的 - 当我提交 itype 表单时的输出显示 TARGET - 但是当 javascript 询问表单值时,它就像没有在时间轴中设置。
  • 看看我的编辑。我已经在您的 html 中添加了您缺少的内容。
  • 当我编写 PHP 代码时 - 我得到:变量的值是 [object HTMLInputElement]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-22
  • 2015-04-14
相关资源
最近更新 更多