我应该在以下代码中添加些什么,以便它可以将按钮值onclick保存在php变量中,我将通过电子邮件发送它

时间:2019-04-26 11:37:46

标签: javascript php jquery html ajax

实际上,我制作了一个表单并在表单中有很多按钮,因此我想知道如何完成表单提交过程中单击按钮时是否将存储该按钮的值,然后单击最后的提交按钮邮件将发送所有输入字段值,包括我单击的按钮值。

<script type="text/javascript">
$(document).ready(function() {
  $('#frmemail').submit(function(event) {
    $.ajax({
      type: 'POST',
      url: '',
      data: $('#frmemail').serialize(),
      success: function() {
        $('.success').fadeIn(1000)
      }
    });
  });
});
</script>
     <?php
   if (isset($_POST['garden']))
   {
     $but= $_POST['garden'];
   }
 ?>
 <?php
$name = $_POST['form_name'];
$email = $_POST['form_email'];
$message = $_POST['form_msg'];
$garden = $_POST['garden'];
$to = "admin@rsfcrm.com";
$subject = "RIA Emails";
$body = "Name: ".$name."\nEmail: ".$email."\nGarden".$but."\nMessage:".$message;
$headers = "From: ". $email;
    if (mail($to,$subject,$body,$headers))
{echo "<script>window.alert('Successfull!');
    </script>";  
}else
{echo "<script>window.alert('Fialed');
    </script>"; 
}?>    
<div class="container">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section>
  <form enctype="multipart/form-data" id="frmemail" method="post" action="test2">
    <fieldset class="margin-b">
      <legend>Contact Me</legend>
      <label for="form_name">Name:<input name="form_name" type="text" value="" required autofocus ></label>
      <label for="form_email">Email:<input name="form_email" type="email" value=""></label>
      <label for="form_msg">Message:<textarea name="form_msg" rows="5"></textarea></label>
    </fieldset>
    <button type="submit" id="garage" name="garden" value="gardening">button</button>
    <input type="submit" name="submit" id="submit" value="Submit">
  </form>
  </section>
</div>  </body>`

3 个答案:

答案 0 :(得分:0)

您可以使用jquery和隐藏变量功能。 例如,在第一个按钮上单击将值存储在隐藏字段中,在第二个按钮上单击提交表单。如果您想要代码,那么我可以粘贴在这里

答案 1 :(得分:0)

<input type='hidden' name='garage_val' id='garage_val' value='' />
<script>
$("#garage").click(function(){
    $("#garage_val").val($(this).val());
});
</script>

答案 2 :(得分:0)

在您的form中添加此输入字段

<input type='hidden' name='gardening' value='gardening' />

在您的PHP代码中

<?php
$gardening= $_POST['gardening'];
echo $gardening;
?>

jQuery

 $('#frmemail').submit(function(event) {
     $.ajax({
          type: 'POST',
          url: 'yourphpfilename.php',
          data: $('#frmemail').serialize(),
          success: function() {
            alert(data)
          }
        });
      });

不需要jquery click函数来执行此操作,此值将与表单一起传递,希望有帮助

(或)

如果您希望仅在按钮上传递值,请使用此

HTML

<input type='hidden' name='gardening'  class="hidden"/>

jQuery

$("#garage").click(function(e)
{ 
  e.preventDefault();
  $('.hidden').val('gardening');
});