-1

我已经下载了一个带有普通按钮的 ajax/jquery conatct 表单。但我想用文本链接替换按钮。我一直在尝试来自网络的一堆建议,但似乎没有一个有效。

任何帮助将非常感激。

    <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
    $('#contact_form').submit(function(e){
        e.preventDefault();
        var form = $(this);
        var post_url = form.attr('action');
        var post_data = form.serialize();
        $('#loader', form).html('<img src="loader.gif" /> Please Wait...');
        $.ajax({
            type: 'POST',
            url: post_url, 
            data: post_data,
            success: function(msg) {
                $(form).fadeOut(500, function(){
                    form.html(msg).fadeIn();
                });
            }
        });
    });
});
</script>
</head>
<body>
<form action="process.php" method="post" id="contact_form">
    <div>
         <label for="name">Your Name:</label>
         <input type="text" name="name" id="name" value="" tabindex="1" />
    </div>
    <div>
         <label for="email">Your Email:</label>
         <input type="text" name="email" id="email" value="" tabindex="2" />
    </div>
    <div>
        <label for="message">Message:</label>
        <textarea cols="40" rows="8" name="message" id="message"></textarea>
    </div>
    <div id="loader">
        <input type="submit" value="Submit" /> 
    </div>
</form>
</body>
</html>
4

3 回答 3

0

如果您只想用<a />标签替换提交按钮:

在您的 HTML 中,替换<input />标签:

<div id="loader">
    <!-- <input type="submit" value="Submit" /> -->
    <a id="yourID" href="" >Your Text</a>
</div>

使用 jQuery将事件处理程序附加到新<a />标签:

$("#yourID").on("click",function(){
    $("#contact_form").trigger("submit");
});
于 2012-07-16T07:28:25.487 回答
0

将按钮替换为

<a href="#" id="submit">Submit</a>

然后使用以下代码(在您的表单 ajax 代码之后或之前)

$('#submit').click(function (e){
  e.preventDefault();
  $('#contact_form').submit();
});
于 2012-07-16T07:28:42.510 回答
0

HTML

<div id="loader">
    <a href="#" class="submit">Submit</a> 
</div>

JS

$(function(){
    $('#contact_form').submit(function(e){
        e.preventDefault();
        var form = $(this);
        var post_url = form.attr('action');
        var post_data = form.serialize();
        $('#loader', form).html('<img src="loader.gif" /> Please Wait...');
        $.ajax({
            type: 'POST',
            url: post_url, 
            data: post_data,
            success: function(msg) {
                $(form).fadeOut(500, function(){
                    form.html(msg).fadeIn();
                });
            }
        });
    }).delegate('a.submit', 'click', function() {
        $(this).closest('form').submit();
        return false;
    });
});
于 2012-07-16T07:30:04.180 回答