快速提问,我正在尝试将值传递给变量,然后在变量设置为特定的情况下运行函数。我该怎么做?
我有以下示例,如果变量类型设置为1,我想将值名称赋值给表单字段。
function test(name,type) {
if (type=1) {
document.myform.name.value = name;
}
}
和html正文中的链接:
<a href="javascript:test('myname','1');">FILL IN MY NAME</a>
我也试过以下但没有运气:
function test(name,type) {
var checktype = type;
if (checktype = 1) {
document.myform.name.value = name;
}
}
我很确定这样的事情是可能的,只是不确定我做错了什么。
答案 0 :(得分:3)
试试这个:
function test(name,type) {
var checktype = type;
if (checktype == 1) {
document.myform.name.value = name;
}
}
您错过了==
答案 1 :(得分:2)
您想使用==
,而不是=
。使用单个符号将值1赋给变量checktype
,而不是测试相等性:
function test(name,type) {
if (type == 1) {
document.myform.name.value = name;
}
}
答案 2 :(得分:2)
要避免此类错误,请尝试执行此操作。
function test(name,type) {
if (1 == type) {
document.myform.name.value = name;
}
}
在这种情况下,如果您输入错误,1 =键入,那么您会收到错误并找到正确的方法。
答案 3 :(得分:2)
如果变量未传递给函数参数,则参数地址将为Null。因此,您需要使用函数内的if语句检查地址。即:
bool flag(int & value)
{
if (&value == NULL) {
return false;
}
else {
return true;
}
}
答案 4 :(得分:1)
Javascript使用==
进行相等性检查。
答案 5 :(得分:1)
function test(name,type) {
if (type === "1") {
document.myform.name.value = name;
}
}
无需在函数内部使用其他变量来存储值。如果你知道变量的类型,也可以使用===' instead of
==`。
参见 Strict equal
如果操作数是,则返回true 严格相等(见上文)没有 类型转换。
答案 6 :(得分:1)
您需要使用comparison operator代替assignment operator:
function test(name, type) {
if (type == 1) {
document.myform.name.value = name;
}
}
如果您正在使用赋值运算符,则整个表达式将计算为指定的值。这意味着type = 1
评估为等于 true 的1
,并且始终满足分支条件。
答案 7 :(得分:0)
function test(name,type) {
if (type==1) {
document.myform.name.value = name;
}
}