0

我想自动登录到某个站点,所以我使用了这段代码并且它有效

<form id="myform" runat="server" action="http://my.yad2.co.il/login.php">
    <div>
        <input type="text" value="MyUserName" name="Username" id="login_email" />
        <br />
        <input type="password" name="Password" id="Irealpass" value="MyPassword" />
        <script>
            document.forms["myform"].submit();
        </script>
    </div>
</form>

现在我想在不使用文本框的情况下传递参数。我用这个脚本替换了脚本

    <script>
    var params = { Username: "MyUserName", Password: "MyPassword" };
            this.getForm().getEl().dom.action = 
            'http://my.yad2.co.il/login.php"?' + Ext.urlEncode(params);
            document.forms["myform"].submit();
    </script>

为什么它不起作用?

谢谢

4

1 回答 1

0

为了替换 action 属性,您可以使用以下代码

document.forms["myform"].action='http://my.yad2.co.il/login.php?' + Ext.urlEncode(params)

但是,服务器不能接受来自查询字符串的登录名/密码,因为您在发布请求中传递它们。

我建议在提交之前设置文本框值

<form id="myform" runat="server" action="http://my.yad2.co.il/login.php">
        <div>
            <input type="text" value="MyUserName" name="Username" id="login_email" />
            <br />
            <input type="password" name="Password" id="Irealpass" value="MyPassword" />
                <script>
                Ext.get("login_email").set({value:"MyUserName1"});
                Ext.get("Irealpass").set({value:"MyPassword1"});

                document.forms["myform"].submit();
                </script>

        </div>
    </form>
于 2012-11-25T08:58:33.693 回答