簡體   English   中英

多個提交按鈕,具有傳遞變量的不同操作

[英]multiple submit buttons different actions with passing variables

我有一個像下面的代碼(稱為index.php)的形式,帶有多個提交按鈕。 我想對提交按鈕進行不同的php操作。 第一個按鈕,無需刷新瀏覽器頁面,當然也無需傳遞變量。 另一個具有正常操作,可以重定向到新頁面(此處為form_submit.php)。 本主題的幫助下,我設法使第一個按鈕起作用,但是我無法將第二個按鈕與第一個按鈕區分開。 有什么辦法可以在這些按鈕的功能之間切換?

<? php>
if($_POST['formSubmit'] == "Next") {
  $var1 = $_POST['name1'];
  $var2 = $_POST['name2'];.
  session_start();
  $_SESSION['variable1'] = $var1;
  $_SESSION['variable2']= $var2;
  header("Location: form_submit.php");
  exit;
}

?>
<html>
<body>
<form action="index.php" method="post">
<input type="text" name="name1" id="name1" maxlength="50" value="<?=$var1;?>" />
<input type="text" name="name2" id="name2" maxlength="50" value="<?=$var2;?>" />

<input type="submit" name="dataSubmit" value="Insert Data" />    
<input type="submit" name="formSubmit" value="Next" />

<script>

  $(function () {
    $('form').on('submit', function (e) {

      e.preventDefault();

      $.ajax({
        type: 'post',
        url: 'data_submit.php',
        data: $('form').serialize(),
      });

    });
  });
</script>
</form>
</body>
</html>

一旦第一個按鈕實際上不需要進行提交,就可以在其上設置“ onClick”事件處理程序並將其設置為“ button”。 在這種情況下,當您按下按鈕時,只會觸發JS,瀏覽器不會提交表單。 這是我的意思:

<input type="button" id="justButton" name="dataSubmit" value="Insert Data" />    
<input type="submit" name="formSubmit" value="Next" />

<script>

  $(function () {
    $('#justButton').on('click', function (e) {

      $.ajax({
        type: 'post',
        url: 'data_submit.php',
        data: $('form').serialize(),
      });

    });
  });
</script>

首先,將clicked類添加到按鈕:

$('.submitButton').click(function(){
    $('.submitButton').removeClass('clicked');
    $(this).addClass('clicked');
});

比在提交事件檢查按鈕:

$('form').submit(function(){
    var button = $('.submitButton.clicked');

    if (button.attr('id') == 'name1') {
        ...
    } else {
        ...
    }

    return false;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM