私は本当にあなたのコードをより慣用的な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;
}
こんにちはMATTがあり、私は – harsh
@harshをウルのコードを適用したが、「関数の外return文」同じエラーを取得していますあなたが得ていた)、あなたのコードに技術的に間違ったものはありません。私のバージョンは、javascriptの人が同じことをする方法にちょうど近いです:) –
:私はコードの背後にあるreturn文を削除します.ClientScript.RegisterStartupScript(GetType()、 "id"、 "return showPatientInfo( '" + txtPatientID .Text + "');"、true); ....コードは正常に実行されますが、 "オブジェクトはこのプロパティまたはメソッドをサポートしていません"というエラーが返され、return文を追加すると "関数の外部にあるreturn文"が返されます。私はcodebehindからjavascript関数を呼び出す – harsh