0

我有与返回我一些参数的 web 焦点过程相关联的 JavaScript 代码。我想将这些参数之一传递给我的 Servlet,但我不知道如何将此参数传递给我的 servlet。我粘贴了一些代码:

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我获得了我想传递给我的 Servlet 的值,但我不知道如何......有人可以帮助我吗?

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

使用您的“redirectecionar”功能,您的浏览器将对“pagina”URL 发出 GET 请求,而不是 POST。所以服务器永远不会从表单中接收你的参数

我认为有两种解决方法:

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 回答