日期:2014-05-16  浏览次数:20297 次

巨麻烦的问题!另一个框架提交导致本框架javascript判断语句形同虚设!
框架页(1.asp):    
<frameset     cols= "0%,100% "     name=main     frameSpacing=0     frameborder= "NO "     >    
<frame     name=framename1     noresize     src= "2.asp ">    
<frame     name=framename2     noresize     src= "3.asp ">    
</frameset>    
 
 
 
以下是(3.asp)的内容:    
<script     language= "JavaScript ">    
function     dothecheck()    
{        
if(document.getElementsByName( "postvote ")[0].checked)    
{    
if(!confirm( "确定选1? "))     return;    
}    
else     if(document.getElementsByName( "postvote ")[1].checked)    
{    
if(!confirm( "确定选2? "))     return;    
}    
else    
{    
alert( "还未选择 ");    
return;    
}    
window.location.href= "4.asp "    
}    
</script>    
 
<form     action= "5.asp "     method= "post "         target= "framename1 "     name= "formface "     >    
<input     type= "radio "     name= "postvote "     value= "0 "     /> 1号    
<input     type= "radio "     name= "postvote "     value= "1 "     /> 2号    
<input     type= "submit "     name= "Submit "     value= "OK! "     onclick=dothecheck()>    
</form>
我写个dothecheck()就是为了进行确认选择,防止用户随便操作,但因为这里使用了框架target= "framename1 "(就是让这个页面的内容提交到frameset的另外一个框架2.asp中),所以只要一按下submit按钮,这里进行dothecheck中的判断的同时,也把这个页面(3.asp)中form的内容提交了出去!是同时提交的,不管我javascript判断的结果如何,实际上都已经投票成功了。。。汗,这样子这个框架里javascript其实没有实际意义上的判断作用(以往我们只是在一个页面里提交没有提交到另外一个帧的所以只有通过dothecheck判断后才能转向到5.asp,所以没有这个问题)。。请问怎么解决?我要实现的是经过dothecheck语句后才提交的而不是同时就给提交了。

------解决方案--------------------
寒,我也在学习这个问题,帮顶
------解决方案--------------------
<script language= "JavaScript ">
function dothecheck()
{
if(document.getElementsByName( "postvote ")[0].checked)
{
if(!confirm( "确定选1? ")) return false;
}
else if(document.getElementsByName( "postvote ")[1].checked)
{
if(!confirm( "确定选2? ")) return false;
}
else
{
alert( "还未选择 ");
return false;
}
window.location.href= "4.asp "
}
</script>

<form action= "5.asp " method= "post " target= "framename1 " name= "formface " >
<input type= "radio " name= "postvote " value= "0 " /> 1号
<input type= "radio " name= "postvote " value= "1 " /> 2号
<input type= "submit " name= "Submi