JS一个高深问题,选择好图片自动提交表单
<script>functiona(){document.getElementById('file1').click();alert(123);}</script><di...
<script>
function a() {
document.getElementById('file1').click();
alert(123);
}
</script>
<div onclick="a()">bbbb</div>
<form style="display:none;" method='post' action="test.php" id='fm' enctype="multipart/form-data" >
<input id="file1" name="file" type="file" />
<input type="submit" value="submit"/>
</form>
现在是点bbb,能选择图片添加了,但是,我还没选好alert就出来了
这就意味着,异步的,我现在想做到的是:当我选择好图片,以后弹出来alert(123)
我完全可以等框弹出来后逛一圈回来再选择,所以定时的不行
高手支招啊,有难度吧,能不能实现都给个理由哈,谢谢 展开
function a() {
document.getElementById('file1').click();
alert(123);
}
</script>
<div onclick="a()">bbbb</div>
<form style="display:none;" method='post' action="test.php" id='fm' enctype="multipart/form-data" >
<input id="file1" name="file" type="file" />
<input type="submit" value="submit"/>
</form>
现在是点bbb,能选择图片添加了,但是,我还没选好alert就出来了
这就意味着,异步的,我现在想做到的是:当我选择好图片,以后弹出来alert(123)
我完全可以等框弹出来后逛一圈回来再选择,所以定时的不行
高手支招啊,有难度吧,能不能实现都给个理由哈,谢谢 展开
展开全部
图片提交form:
然后js有验证为:
//报名验证
function checksub(form){
if(条件){ //判断是否登录
showModeWindow(); //弹出登录框
return false;
}
if(条件){ //登录是否输入姓名
alert("请填写真实姓名!");
$("#realname").focus();
return false;
}
return ture;
}
就这样,就是登录必须登录,并且输入了姓名后,才能提交表单。项目正常用了一段时间,没任何问题,可是有一天,客户突然问题,为什么报名表中有一
条数据没有用户姓名,我就觉得奇怪,就又返回测,怎么测,都会正常提交先登录,或是输入姓名。我百思不得其解。
所以,我都视这个问题为一灵异现象,直至今天,我的网速不好,我再次瞎点,真还发现我自己都提交了一报名信息。再试,再发一个问题,就是页面刚刚加载出提
交按键时,我就点击那个提交按钮,这时,js会发生一个错误,但瞬间就没了,因为页面已经转到报名结果页面。呵,这家伙,这我才明白,原来,网速不好,页
面加载慢,在页面刚加载到提交按钮时,我就点击提交,js验证到用户并未登录,所以执行
showModeWindow(),可是此时,这个弹出框相关的东
西还没有加载完毕,就会找不着相应对象,故产生js异常。而可罪恶的submit类型提交按钮,会忽略掉js异常,直接提交表彰。以后出理所谓的“灵异现
象”。
于是,当即改之如下:
js改为:
function checksub(){
if(条件){ //判断是否登录
showModeWindow(); //弹出登录框
return;
}
if(条件){ //登录是否输入姓名
alert("请填写真实姓名!");
$("#realname").focus();
return;
}
$("#campaignFrom").submit(); //提交表单。
}
然后js有验证为:
//报名验证
function checksub(form){
if(条件){ //判断是否登录
showModeWindow(); //弹出登录框
return false;
}
if(条件){ //登录是否输入姓名
alert("请填写真实姓名!");
$("#realname").focus();
return false;
}
return ture;
}
就这样,就是登录必须登录,并且输入了姓名后,才能提交表单。项目正常用了一段时间,没任何问题,可是有一天,客户突然问题,为什么报名表中有一
条数据没有用户姓名,我就觉得奇怪,就又返回测,怎么测,都会正常提交先登录,或是输入姓名。我百思不得其解。
所以,我都视这个问题为一灵异现象,直至今天,我的网速不好,我再次瞎点,真还发现我自己都提交了一报名信息。再试,再发一个问题,就是页面刚刚加载出提
交按键时,我就点击那个提交按钮,这时,js会发生一个错误,但瞬间就没了,因为页面已经转到报名结果页面。呵,这家伙,这我才明白,原来,网速不好,页
面加载慢,在页面刚加载到提交按钮时,我就点击提交,js验证到用户并未登录,所以执行
showModeWindow(),可是此时,这个弹出框相关的东
西还没有加载完毕,就会找不着相应对象,故产生js异常。而可罪恶的submit类型提交按钮,会忽略掉js异常,直接提交表彰。以后出理所谓的“灵异现
象”。
于是,当即改之如下:
js改为:
function checksub(){
if(条件){ //判断是否登录
showModeWindow(); //弹出登录框
return;
}
if(条件){ //登录是否输入姓名
alert("请填写真实姓名!");
$("#realname").focus();
return;
}
$("#campaignFrom").submit(); //提交表单。
}
展开全部
我在win +ie9下测试,选好内容后才会alert()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<script>
function a() {
document.getElementById('file1').click();
}
</script>
<div onclick="a()">bbbb</div>
<form style="display:none;" method='post' action="test.php" id='fm' enctype="multipart/form-data" >
<input id="file1" name="file" type="file" onChange="alert(123)" />
<input type="submit" value="submit"/>
</form>
function a() {
document.getElementById('file1').click();
}
</script>
<div onclick="a()">bbbb</div>
<form style="display:none;" method='post' action="test.php" id='fm' enctype="multipart/form-data" >
<input id="file1" name="file" type="file" onChange="alert(123)" />
<input type="submit" value="submit"/>
</form>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询