无法将隐藏的表单值获取到javascript变量中
我有一个有几个字段的表单。其中一个隐藏字段的值与其他一些输入值一起传递到URL中,如下所示: example.html#firstname=Homer&lastname=Simpson&itype=TARGET 我有一个javascript,它解析URL,并填充表单。表单的输出包含从url传递的所有值,因此我知道变量正在传递到表单字段 我的问题是-我希望能够设置一个if语句,根据itype的值更改其中一个标题的文本 这是我的密码:无法将隐藏的表单值获取到javascript变量中,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我有一个有几个字段的表单。其中一个隐藏字段的值与其他一些输入值一起传递到URL中,如下所示: example.html#firstname=Homer&lastname=Simpson&itype=TARGET 我有一个javascript,它解析URL,并填充表单。表单的输出包含从url传递的所有值,因此我知道变量正在传递到表单字段 我的问题是-我希望能够设置一个if语句,根据itype的值更改其中一个标题的文本 这是我的密码: var itypestuff = documen
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");
}
var-itypestuff=document.getElementById(“itype”).value;
document.write(“变量的值为“+itypestuff.value+””;
如果(ITypeTuff==“目标”){
记录。书写(“这是目标”);
}
否则{
记录。书写(“这不是目标”);
}
我添加了第一个document.write语句作为调试,它将返回:变量的值未定义
以下是itype字段变量的外观:
<input type="hidden" name="itype" id="itype" value="">
您知道如何将URL中的变量放入javascript变量中,以便执行if语句吗?更改:
document.write ("<p>The value of the variable is " + itypestuff.value + "</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']); ?>">
Tryvar-itypestuff=document.getElementById(“itype”)
(是的,没有该值)如果在从url中删除代码中的值时已经接触到该值,为什么需要从隐藏字段中读取该值?此时将其放在变量中,然后稍后在处理页面时使用它。通过这种方式,您将完全跳过对DOM的干扰。我将其从URL中剥离并分配给表单变量的代码只是一个循环,因此它不会查看特定的变量-它只是将它们全部分离并覆盖可见和隐藏字段的空值。当我进行这些更改时,会出现document.write语句返回时返回一个空值(即变量的值为(此处为空)),因为value=“
为空。更改方式:HTML中的:value=“TARGET”
。问题是-我想从URL传递表单变量的值-因此它有时会成为目标-但有时会错过目标-我希望它是动态的,而不是固定的。正如我所说的,当我提交itype表单时,输出显示的是TARGET,但是当javascript询问表单值时,它好像没有在时间线中设置。我已经添加了您在html中缺少的内容。当我编写PHP代码时,我得到:变量的值是[object HTMLInputElement]
<input type="hidden" name="itype" id="itype" value="<?= htmlspecialchars($_GET['itype']); ?>">