我有一个javascript函数,由一个' onsubmit'在表格内(Coldfusion)。
<form action = "person2aa.cfm"
name = "pers2form"
method = "post"
style = "margin-left: 125px"
onsubmit = "return test()">
当函数test()位于此表单语句的正下方时,它可以正常工作:
<script>
function test(){
alert("got to test");
var yesa = document.getElementById('yesnoa').value;
var yesb = document.getElementById('yesnob').value;
var xx = document.getElementById('ln').value;
var x = xx.trim();
alert('supbpers2 x is ' + x);
if (x < "!"){
document.getElementById('writeval').innerHTML = "You must enter a last name.";
return false;}
else
return true;
}
</script>
(表单的其余部分继续在此脚本下方。)
当我将此功能放在其他地方时,它不会运行。我已经在html页面的标题中尝试了它,也在另一个页面person.js上尝试过,链接是:
<script type = "text/javascript" src = "person.js"> </script>
第一个提醒&#39;必须测试&#39;在这些地方运行,但是第一行开始var yesa =不执行,因此函数也不执行。
id&#39; yesnoa&#39;,&#39; yesnob&#39;,&#39; ln&#39;和&#39; writeval&#39;在代码中是正确的(或内联脚本不会运行,但我还是检查了。)
我以前在我的程序的标题部分中有这个脚本(减去警报),它在某一点上工作。几个月后我又回来重新测试程序了,脚本没有运行。我没有随时对此脚本进行任何更改。程序本身被添加了4个简单的查询来改变以做各种事情,但所有看起来都是这样的:
<cfquery name = 'aa11' datasource = "Moxart">
update NameInfoDb
set perloc = <cfqueryparam value = "#perloc#">
</cfquery>
我无法想到这些额外查询与javascript失败之间的任何联系。
有谁可以解释问题可能是什么?必须有一个解释,我需要知道它,所以我不会重复任何不良代码。