0

これが私のコードです。挿入クエリが起動した後、コードで JavaScript 関数を呼び出しています。しかし、「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;
}
4

1 に答える 1

1

あなたのコードをより慣用的な JavaScript として書き直したかったのです。その過程で、formBypassQueryString 変数が割り当てられないことがわかりました。これは、おそらく問題を引き起こす可能性があります。これが私のバージョンです:

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;
}
于 2012-04-26T06:54:56.917 に答える