如我有 <input type="button" value ="查询" onclick="search();"> <script>
search()
{
var message = getMessage();
checkForm();
...
...
} checkForm()
{
var message="验证通过"
var status = 0;
//... 这里执行一段程序
if(status == 1)
{
alert('程序出现错误停止运行')
//然后让search()的代码也不再执行
//那要怎么写呢,谢谢
}
return message;
}
</script>
search()
{
var message = getMessage();
checkForm();
...
...
} checkForm()
{
var message="验证通过"
var status = 0;
//... 这里执行一段程序
if(status == 1)
{
alert('程序出现错误停止运行')
//然后让search()的代码也不再执行
//那要怎么写呢,谢谢
}
return message;
}
</script>
解决方案 »
- 亲爱的兄弟们,请问如何判断文本框是否获得焦点的代码,有哪位知道,请告诉兄弟一下
- 从前台用jquery ajax方式提交的值(json对象) 在后台怎么取?
- 希望大家来看看这套JavaSctipt组件
- 自动设为首页的恶意代码
- easyui tree如何实现同一时间只展开一个目录
- 如何用js获取table中光标的位置?
- 本人遇到一个比较特殊的问题,是关于下拉列表的,请高手进来看看
- 高分求助,如何把html文本输出到为txt文件,并把所有的html标记符转换或去掉.在线等侍
- 怎么得到IE中一个点相对屏幕的绝对位置?
- 如何在es6中跨页面修改class并保存?
- ifream问题
- 我的页面在IE下面是好的,在Firefox出现一个问题
上面的,checkForm() 改为 getMessage();
<input type="button" value ="查询" onclick="search();"> <script>
search()
{
var message = getMessage();
if(message=='stop'){return;}
checkForm();
...
...
} getMessage()
{
var message="验证通过"
var status = 0;
//... 这里执行一段程序
if(status == 1)
{
alert('程序出现错误停止运行')
return "stop";
//然后让search()的代码也不再执行
//那要怎么写呢,谢谢
}
return message;
}
<script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head> <body>
<script type="text/javascript">
<!--
var errorNum = 0;function search()
{
var message = getMessage(); alert(message);
}function getMessage()
{
var message="验证通过"
var status = 1;
//... 这里执行一段程序
if(status == 1)
{
throw new Error(++errorNum, '程序出现错误停止运行');
//然后让search()的代码也不再执行
//那要怎么写呢,谢谢
}
return message;
}
try
{
search();
}
catch(e){
document.write(e.number, ": ", e.description, "<br />");
}document.write("go go go ...");
//-->
</script>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head> <body>
<script type="text/javascript">
<!--
var errorNum = 0;function search()
{
var message = getMessage(); document.write("123<br />");
alert(message);
}function getMessage()
{
var message="验证通过"
var status = 1;
//... 这里执行一段程序
if(status == 1)
{
alert("程序出现错误停止运行");
throw new Error(++errorNum, '程序出现错误停止运行');
}
return message;
}
try
{
search();
}
catch(e){
// Do nothing.
}document.write("go go go ...");
//-->
</script>
</body>
</html>
就是不想这种方式RE:try catch的
里面那样写可以,但是还要更改search和在外面添加try catch不要这样我要的就是要是在GetMessage()这个方法中写代码,就可以实现我要的功能的
没有办法吗?
谢谢
<input type="button" value ="查询" onclick="search();">
<script>
function search(){
var message=getMessage();
if(message=="stop"){ return; }//如果getMessage()返回的是"stop",跳出函数
checkForm();
//...
//...
} function getMessage(){
var status = 0;
//... 这里执行一段程序
if(status==1){
alert('程序出现错误停止运行')
return "stop"
}
return "验证通过";
}
</script>方案2
<input type="button" value ="查询" onclick="search();">
<script>
function search(){
var status = 0;
//... 这里执行一段程序
if(status==1){
alert('程序出现错误停止运行'); return;
}
alert("验证通过");
//继续执行。
}
</script>
退出后回到调用函数或窗体,程序执行是堆栈方式执行滴,即先入后出,而且要逐层退出,
即使是抛出异常,异常检查也是如此,遇到 catch 时才被捕获,处理后程序继续向下执行。lz 希望直接终止调用程序,js 引擎只提供了异常机制可以实现,别无他法,
除非增加关键字 callerReturn!