在AJAX电子邮件表单上使用2个不同的提交按钮


Using 2 different submit buttons on an AJAX email form

我对AJAX非常陌生,昨天跟随教程在我的网页上获得电子邮件系统,而无需刷新页面。这是我现在的代码:

    <script type="text/javascript">
    $(document).ready(function(){
        $("#myform").validate({
            debug: false,
            rules: {
                name: "required",
                email: {
                    required: true,
                    email: true
                }
            },
            messages: {
                name: "Please let us know who you are.",
                email: "A valid email will help us get in touch with you.",
            },
            submitHandler: function(form) {
                // do other stuff for a valid form
                $.post('http://www.test.co.uk/erc/process.php?imei=<?php echo $imei; ?>&send_type=1', $("#myform").serialize(), function(data) {
                    $('#results').html(data);
                });
            }
        });
    });
</script>
<form name="myform" id="myform" action="" method="POST">  
<!-- The Email form field -->
    <label for="email" id="email_label">Email</label>  
    <input type="text" name="email" id="email" size="30" value=""/> 
    <br>
<!-- The Submit button -->
    <input type="submit" class="email-buttons" name="submit" value="Alternate Medical history"> 
</form>

这工作得很好,电子邮件通过process.php发送而不刷新页面。我真正需要的是能够在"电子邮件"文本区域输入电子邮件地址,并有2个不同的提交按钮。其中一个按钮将发送信息A到输入的电子邮件,另一个将发送信息b。

这是可能的还是我需要有2个完全独立的表格和2个电子邮件输入框?

感谢您的帮助

我不会使用单独的提交按钮-这是错误的,如果你关心表单的可用性。我会使用下拉或单选按钮和单个提交按钮。在您的示例中,这使得无需过多更改代码即可获得所需的结果成为可能:

<form name="myform" id="myform" action="" method="POST">  
<!-- The Email form field -->
    <label for="email" id="email_label">Email</label>  
    <input type="text" name="email" id="email" size="30" value=""/> 
    <br>
<!-- The Email form field -->
    <input type="radio" name="info_type" value="a"> send information A <br>
    <input type="radio" name="info_type" value="b"> send information B <br>
    <br>
<!-- The Submit button -->
    <input type="submit" class="email-buttons" name="submit" value="Alternate Medical history"> 
</form>

然后,在你的process.php中使用$_POST['info_type']来决定做什么。