带有两个按钮的表单需要两个不同的功能

时间:2014-01-21 09:56:53

标签: php forms

我在这里有一个登录表单,有两个按钮,即登录和注册。它们都在一个表单下,因此表单有一个动作,它们都在做同样的功能。我需要将它们链接到我不同的php页面。这是我的代码:

<table>
<tr>
<form name="form1" method="post" action="checklogin.php">
<td>
<table>
<tr>
<td colspan="3"><strong>Member Login </strong></td>
</tr>
<tr>
<td">Username</td>
<td>:</td>
<td><input name="myusername" type="text" id="myusername"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="mypassword" type="password" id="mypassword"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit1" value="Login"><input type="submit" name="Submit2" value="Sign Up""></td>
</tr>
</table>
</td>
</form>
</tr>
</table>

如果我点击我的登录按钮,我希望它链接到“checklogin.php”,它与该字段上的链接相同。如果我点击注册,它将链接到“signup.php”。

5 个答案:

答案 0 :(得分:1)

提交到一个地方。担心如何处理服务器上的数据。

<?php
    if (isset($_POST['Submit1'])) {
        include('login.php');
    } else if (isset($_POST['Submit2'])) {
        include('signup.php');
    } else {
        # default behaviour
    }

答案 1 :(得分:0)

在不更改服务器端代码的情况下,可以通过在提交之前使用javascript更改表单action属性轻松实现。试试这个模式:

<input type="submit" onclick="this.form.action = 'another_url';" />

答案 2 :(得分:0)

我的建议是不要使用任何按钮作为提交按钮。 使用onclick并链接到2个单独的函数 - login()和register()。

在login()和register()函数中,您可以使用jquery将表单提交到每个函数的不同URL。

在你的Javscript中你需要定义函数

<script>
function login() {
   //make form post here
}
function register() {
//make form post here
}
</script>

阅读this answer以获取有关如何使用Ajax提交表单的更多详细信息。

希望这有帮助!

答案 3 :(得分:0)

这个功能可以使用JavaScript实现,这是一个选项。如果你使用javascript,你不需要使用表单标签。

<input type="button" name="Submit1" value="Login" onclick="login()">
<input type="button" name="Submit2" value="Sign Up" onclick="signup()">

JS函数:

function login()
{
window.location = 'http://www.yourdomain.com'

}
function signup()
{
window.location = 'http://www.yourdomain.com'

}

只需提醒给出type =“button”而不是type =“submit” 如果你使用JS,你可以对表单进行验证。希望这有帮助。

答案 4 :(得分:0)

您可以在JavaScript linktoURL中创建一个函数。在onClick事件按钮上调用该函数,并将URL作为参数传递给要重定向的函数

function linktoURL(url)
{
    document.form1.action = url;
    document.form1.sumbit();
}



<table>
    <tr>
    <form name="form1" id="form1" method="post" action="checklogin.php">
        <td>
            <table>
                <tr>
                    <td colspan="3"><strong>Member Login </strong></td>
                </tr>
                <tr>
                    <td">Username</td>
                    <td>:</td>
                    <td><input name="myusername" type="text" id="myusername"></td>
                </tr>
                <tr>
                    <td>Password</td>
                    <td>:</td>
                    <td><input name="mypassword" type="password" id="mypassword"></td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>
                        <input type="button" name="Submit1" value="Login" onclick="linktoURL('checklogin.php');">
                        <input type="button" name="Submit2" value="Sign Up" onclick="linktoURL('signup.php');"></td>
                </tr>
            </table>
        </td>
    </form>
</tr>
</table>