将表单提交到同一域中的另一个页面

时间:2013-08-22 20:52:34

标签: forms form-submit

如何将表单提交到同一域中没有表单ID或名称的其他页面?

需要提交到其他页面的表单:

<form id="login_form" action="roundcube" method="post">
    <div class="input-req-login">
        <label for="user">Email Address</label>
    </div>
    <div class="input-field-login icon username-container">
        <input name="_user" 
               id="rcmloginuser" 
               autofocus="autofocus" 
               placeholder="Enter your email address." 
               class="std_textbox" 
               type="text"  
               tabindex="1" required>
    </div>
    <div style="margin-top:30px;" class="input-req-login">
        <label for="pass">Parola</label>
    </div>
    <div class="input-field-login icon password-container">
        <input name="_pass" 
               id="rcmloginpwd" 
               placeholder="Enter your email password." 
               class="std_textbox" 
               type="password"
               tabindex="2" required>
    </div>
    <div class="controls">
        <div class="login-btn">
            <button type="submit" 
                    onclick="document.getElementByName("form").submit()"  
                    tabindex="3">Autentificare</button>
         </div>

目标表格:

<form name="form" action="./" method="post">
    <input type="hidden" name="_token" value="543e98f5e6cc25841fc0df79cb939590">
    <input type="hidden" name="_task" value="login">
    <input type="hidden" name="_action" value="login">
    <input type="hidden" name="_timezone" id="rcmlogintz" value="_default_">
    <input type="hidden" name="_url" id="rcmloginurl" value="">
    <table>
        <tbody>
            <tr>
                <td  class="title">
                    <label for="rcmloginuser">Utilizator</label>
                </td>
                <td class="input">
                    <input name="_user" 
                        id="rcmloginuser" 
                        size="40" 
                        autocapitalize="off"
                        autocomplete="off"
                        type="text">
                </td>
            </tr>
            <tr>
                <td class="title">
                    <label for="rcmloginpwd">Parolă</label>
                </td>
                <td class="input">
                    <input name="_pass" 
                           id="rcmloginpwd" 
                           size="40" 
                           autocapitalize="off"
                           autocomplete="off" 
                           type="password">
                </td>
            </tr>
        </tbody>
    </table>
    <p class="formbuttons">
        <input type="submit" 
               class="button mainaction"
               value="Autentificare" />
    </p>
</form>

2 个答案:

答案 0 :(得分:1)

好的,我现在看看你的网站了。这其实很简单。

我想你要做的是建立一个个性化的网站登录,这样你就可以给自己的外观和感觉。和roundcube,我想这是你安装的标准邮件系统?

问题是,roundcube不仅会发送用户名和密码。如果您查看HTML代码,您还会看到:

<input type="hidden" name="_token" value="5b6a757df5eee91fa7ee7171466b8b2a">
<input type="hidden" name="_task" value="login">
<input type="hidden" name="_action" value="login">
<input type="hidden" name="_timezone" id="rcmlogintz" value="_default_">
<input type="hidden" name="_url" id="rcmloginurl" value="">

所有这些都是随POST登录自动发送的隐藏值。您可能需要添加最后4个。

但是你可能会遇到很大的问题。第一个名为_token的我有一个理论认为这是服务器要求你提供的随机字符串。我可能是错的,但如果我是正确的,你将无法做你想做的事。拥有此随机字符串的原因是为了防止用户从其他表单发布日志记录(即如果我是正确的话)

也许您可以在圆形管理设置中关闭此随机字符串?如果不是,我认为你没有一个简单的方法继续进行,除非你想深入研究圆形立方体的代码。

编辑:我刚尝试提交没有_token的原始表单,但它不起作用。所以不幸的是,这次你运气不好。

答案 1 :(得分:0)

我不太清楚我理解你的问题,但我猜你正在写一个新的页面,想要发布到另一个页面。如果你喜欢这个怎么办?

<form id="login_form" action="http://webmail.mysite.com/roundcube/" method="post">