JavaScript错误“函数外的return语句"; [英] JavaScript error "Return statement outside of function"

查看:90
本文介绍了JavaScript错误“函数外的return语句";的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的代码.插入查询触发后,我正在代码中调用JavaScript函数.但是我收到了错误函数外的return语句".

Here is my code. I am calling a JavaScript function in the code after insert query fires. But I get the error "return statement outside of function".

ClientScript.RegisterStartupScript(GetType(), "id", "return showPatientInfo('" + txtPatientID.Text + "');",true);

function showPatientInfo(pid) {
    //alert(pid);
    RedirectToPage("Create_Order.aspx", "pid=" + pid);
    return false;
}

推荐答案

我真的想将您的代码重写为更惯用的JavaScript.在此过程中,我发现从未分配formBypassQueryString变量,这可能会引起问题.这是我的版本:

I really wanted to rewrite your code as more idiomatic JavaScript. In the process, I found that formBypassQueryString variable was never getting assigned, which would probably cause problems. Here is my version:

function showPatientInfo(pid) {
  redirectToPage("Create_Order.aspx", "pid=" + pid);
  return false;
}

function redirectToPage(pageName, queryString) {
  if (pageName === "" || queryString === "") return;

  var keyValues = queryString.split("&"),
      form = createQueryStringForm(pageName);

  for (var i = 0; i < keyValues.length; i++) {
    var keyValue = keyValues[i].split("="),
        field = createQueryStringField(keyValue[0], keyValue[1]);

    form.appendChild(field);
  }

  form.submit();
}

function createQueryStringField(name, value){
  var field = document.createElement('input');

  field.setAttribute('type', 'hidden')
  field.setAttribute('name', name)
  field.setAttribute('value', value)

  return field;
}

function createQueryStringForm(pageName){
  var form = document.createElement('form');

  form.setAttribute('id', 'form-bypass-query-string');
  form.setAttribute('method', 'POST');
  form.setAttribute('action', pageName);

  return form;
}

这篇关于JavaScript错误“函数外的return语句";的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆