具有2个按钮的表单需要根据值调用不同的功能

时间:2012-05-19 19:45:14

标签: javascript ajax jquery

我的网页上有很多帖子数据。

例如, www.test.com/test.php?userid='tester'&name=test&so on

上面的页面有一个类似这样的表格:

<? 
$set=get_value_set;
if($set ==1) {
    $set_value="SET";
} else {
    $set_value="UNSET";
}

?>
<form name="test">
<input type="text" readonly="READONLY" value="<? echo $user_id; ?>">
<input type="submit" value="Email" name="submit_user">
<input type="submit" value="<? echo $set_value; ?>" name="submit_user">

<? 
function setuser()
{
//sets the value

}
function email_user()
{
//sets the value

}
?>

上面有两个按钮,当我点击电子邮件时,我希望将电子邮件按钮的值传递给email_user函数并在那里进行一些处理。当我点击设置按钮时,情况类似。

注意:但在上述两种情况下,我希望表单保留在同一页面中,并在网址中包含相同的帖子数据,但我还希望刷新页面,以便设置按钮可以有Set或Unset的值取决于数据库更新。

这可能吗?

2 个答案:

答案 0 :(得分:1)

我会开始删除每个按钮的submit操作并将其更改为

<input type="button" class="btn-Email" value="Email" name="submit_user" />
<input type="button" class="btn-Other" value="<? echo $set_value; ?>" name="submit_user" />

然后,使用jQuery,您可以轻松处理每次点击并提交表单

$(function() {

  $(".btn-Email").click(function() {
    // append anything you want
    var but_email_value = $(this).val(), // or $(".btn-Email").val()
        btn_other_value = $(".btn-Other").val();

    $("form").submit();
  });

  $(".btn-Other").click(function() {
    // append anything you want
    var but_other_value = $(this).val(), // or $(".btn-Other").val();
        btn_email_value = $(".btn-Email").val();

    $("form").submit();
  });

});

答案 1 :(得分:0)

更改您的HTML

<form id="test" name="test">
...
<button onclick="email_user();">Email</button>
<button onclick="setuser();"><? echo $set_value; ?></button>
</form>

您的职能部门应该为您提交表格:

document.getElementById("test").submit();