0

パラメーターを返す Web フォーカス プロセスに関連付けられた JavaScript コードがあります。これらのパラメーターの 1 つをサーブレットに渡したいのですが、このパラメーターをサーブレットに渡す方法がわかりません。私はいくつかのコードを貼り付けます:

document.form1.INFCENTRO.value=9991;
document.form1.NOMBRENTI.value='DOCALIA';
document.form1.NOMBRENTI.disabled=true;
document.form1.NOMAPE.disabled=true;
document.form1.CLAVEUSU.value=user_espe;
document.form1.CLAVEUSU.disabled=true;
document.form1.FECHAPETI.disabled=true;

var pagina="http://lnxntf05:8080/MyMaver/ServletTipoPapel";

function redireccionar() 
{
    location.href=pagina;
} 
setTimeout ("redireccionar()", 20);

document.form1.CLAVEUSUサーブレットに渡したい値を取得しましたが、方法がわかりません...誰か助けてくれますか?

4

2 に答える 2

4

そのフォームを投稿したいようです。もしそうなら:

function redireccionar() {
    document.form1.method = "POST"; // Don't need this if it's in the markup
    document.form1.action = "http://lnxntf05:8080/MyMaver/ServletTipoPapel"; // Could put this in the markup as well
    document.form1.submit();
}

setTimeout(redireccionar, 20);

ただし、無効化されたフォーム要素はフォームと共に送信されないため、フォーム要素を無効化 (削除など)する必要はありません。document.form1.CLAVEUSU.disabled=true


通常は、文字列を と一緒に使用しないsetTimeoutことが最善であることに注意してください。上記の関数参照を使用しました。

于 2013-06-20T07:55:58.350 に答える
0

「redirectionar」機能を使用すると、ブラウザは POST ではなく「pagina」URL に対して GET リクエストを実行します。したがって、サーバーはフォームからパラメーターを受け取ることはありません

私が考える2つの回避策があります:

1) GET メソッドを保持しますが、追加によって URL にパラメーターを追加します

"?INFOCENTRO=9991&NOMBRENTI=DOCALTA..."

変数を URL エスケープするように注意してください。

2) 次のコードで POST メソッドを使用します。

function redireccionar() 
{
   document.form1.action = pagina;
   document.form1.submit();
} 
setTimeout ("redireccionar()", 20);

これは役に立ちますか?

于 2013-06-20T08:04:29.667 に答える