Javascript函数因全局变量而失败
我使用此函数提交到任何url或“self”, 无论是否使用查询字符串,很多时候都没有任何问题Javascript函数因全局变量而失败,javascript,variables,global,Javascript,Variables,Global,我使用此函数提交到任何url或“self”, 无论是否使用查询字符串,很多时候都没有任何问题 function submitu(url, q) { var frm = document.<?php echo $formname ?>; if (url == '') {url = '<?php echo $thispage?>'; } frm.action = url+q; frm.submit(); } 函数提交(url,q){ var frm=文件。; 如果(u
function submitu(url, q) {
var frm = document.<?php echo $formname ?>;
if (url == '') {url = '<?php echo $thispage?>'; }
frm.action = url+q; frm.submit(); }
函数提交(url,q){
var frm=文件。;
如果(url=''){url='';}
frm.action=url+q;frm.submit();}
如果我尝试将PHP变量移到函数外部,如下所示,它将停止工作(frm undefined error)
var thispage='';
var frm=文件。;
函数提交(url,q){
如果(url=''){url=thispage;}
frm.action=url+q;frm.submit();}
我还尝试了var frm=document.forms[''
我没有任何其他冲突的javascript
(1) 。有人能告诉我为什么这不起作用吗?
(2). 如果函数被放置,为什么第一种方法也会失败
jquery$(function(){….}ready函数的内部和顶部
非常感谢它失败了,因为在函数外部时,var frm=document.formname;
将在页面加载时立即运行,即在表单元素实际构建之前,因此您得到“未定义”。在函数内部,它仅在函数运行时运行,此时DOM已完成并可以找到它。完美,现在我明白了-谢谢Mattmat,当som当你回答一个问题时,你会本能地看看你如何奖励他们。这是网站运作的一部分:每个答案左边的投票图标下面都有一个勾号图标,当你点击它时,它会变成绿色。这是其他用户的信号,表明这个答案对你有效,并回答了你提出的问题(如果是这样的话,它比其他任何可能已经发布的帖子都要好)。这被视为一件好事,因为它显示了一个权威的答案,其他人可以信赖。
var thispage = '<?php echo $thispage?>';
var frm = document.<?php echo $formname?>;
function submitu(url, q) {
if (url == '') {url = thispage;}
frm.action = url+q; frm.submit();}