使用smarty添加表单名称时出现Javascript连接错误

时间:2014-06-24 05:57:51

标签: javascript smarty

这有什么不对,我想将值传递给特定表单的字段

var formid = 'addtaskform{/literal}{$smarty.session.formno}{literal}';
document.formid.title.value = 'yeah';

我收到此错误

TypeError: document.getElementById(...) is null

2 个答案:

答案 0 :(得分:1)

在这种情况下连接没有问题。你可能做错了。

请看以下示例:

PHP文件:

$_SESSION['formno'] = 5;
$smarty->display('test.tpl');

Smarty模板文件:

<input type="text" id="addtaskform5" value="5" />
<script type="text/javascript">
{literal}
var formid = 'addtaskform{/literal}{$smarty.session.formno}{literal}';
document.getElementById(formid).value = 'yeah';
{/literal}
</script>

工作正常。输入值已从5更改为yeah

答案 1 :(得分:0)

您很可能在您的网站中没有ID formid的表单元素,至少它不是您实际想要实现的目标。

您正在寻找的是:

document[formid].title.value = 'yeah';

document.formidDot Notation):获取 id formid的元素
document[formid]Bracket Notation):获取存储在值formid

中的 id 元素