document.tiao.action="tiao_return.asp";见上句,第二次再按的时候,表单的Action已更新为一个网页地址,是普通的ACTION了。
解决方案 »
- jquery中load局部刷新问题
- 请教jscript的底层API调用实现的问题
- 如何用普通的javascript代替如下jquery代码
- 验证<INPUT type="file">的问题,求大家帮助.-----------------在线等.
- JS如何实现jsp调用
- 关于“script defer ”的使用问题,会使浏览器当掉
- 大哥门,帮忙,急……
- 有点过分的问题:::逛了超市回来,碰到一个四则运算问题:JavaScript怎么样判断一个运算式是否合法?听说在C/C++里可以用堆栈处理。
- 关于如何在A窗口中关闭在A窗口中弹出的b窗口??请求帮助。。急。。。。。。
- 这里是干吗的??没人啊!!
- 我想选中一条记录后显示某一个字段的值的地方自动变成OPTION那样的下拉选择框,并且显示相应的记录,请高手指导!十万火急!
- 请问,掏宝网的广告是怎样避过3721的栏截的,我有他的弹出窗口广告代码,但搞不明白!
只需要在表彰提交后再还原设置就行了:<script language="javascript">
<!--
function tiao_check()
{
window.open('','投票','width=400,height=300');
document.tiao.action="tiao_return.asp";
document.tiao.target="投票";
document.tiao.submit();
document.tiao.action="javascript:tiao_check()";
document.tiao.target=""; }
-->
</script>
正解就不见得,我只是发现他的问题而已。即当他点击一次表单后,打开了一个名为“投票”的窗口,此时
表单域的Action被JS改成了“tiao_return.asp”,打开的目标窗口改成了为“投票”。接着他关闭了名称为“投票”的窗口,并第二次再按投票按钮,结果程序找不到“投票”窗口(已被他闭),于是程序就只好“_blank”了。
不用写JS函数把表单域改来改去的,我认为。例如,楼主的表单域可以这样写的:
<form action="tiao_return.asp" method="post" enctype="application/x-www-form-urlencoded" name="tiao" id="tiao" onsubmit="window.open('','投票','width=400,height=300');return true;" target="投票">
但我还有一个小问题没搞清楚:为什么一定要加这一句:document.tiao.target="";而且它的值只能为空,不能为其它的,不然就会提示说找不到对象.
document.tiao.target=""
是让表单域的目标缺省,缺省目标的表单域其目标指向本身窗口,本身窗口是永远找得到的,所以不会有错。
其它的窗口都不存在,所以document.tiao.target不能是其它的参数。
由此我们可以看到表单程序的执行顺序了。 调试得比较多就不见得,在CSDN上,对于一个问题,如果你如果调试得比较多的话,你就几乎没有什么机会站到一楼上了。因为调试得比较多的话,说明你对这个问题不熟悉不了解,只能靠运气来解决了,所以说经验和观察能力是很重要的。
看到一个问题,你应该首先会产生一定的解决思路和方法,再来测试自己的方法是否可行,如果可行的话就来发贴。当然,有时候有此问题是简单到根本不用测试就知道它可行的或不可行的。
对于这个问题我在本机上调试过三次:第一次,看到问题后即发回贴,后来一调试,发觉仅改那一句还不行的。所以再看了一下程序,发觉target还得改掉,改完后测试了一下,这是第二次。第三次,我总觉得楼主写的提交到弹出窗口过程太复杂了,所以又改了一下<form>语句。
是让表单域的目标缺省,缺省目标的表单域其目标指向本身窗口,本身窗口是永远找得到的,所以不会有错。