表单操作和Javascript冲突

表单操作和Javascript冲突,javascript,forms,Javascript,Forms,在这个问题上需要一些帮助 我正在使用一个表单和一个脚本来显示警报 我使用这段代码来实现这一点,并且工作良好: <input id="autocomplete" class="input_message" type="text" name="message" autocomplete="off" placeholder="...type your message" ><br/> &l

在这个问题上需要一些帮助

我正在使用一个表单和一个脚本来显示警报

我使用这段代码来实现这一点,并且工作良好:

        <input id="autocomplete" class="input_message" type="text" name="message" autocomplete="off" placeholder="...type your message" ><br/>                              
        <input id="input_send" class="input_send" type="submit" name="send" value="SEND">
但是如果我放了一些表单方法,脚本上的警报就不起作用了

    <form enctype="multipart/form-data" method="post">
        <input id="autocomplete" class="input_message" type="text" name="message" autocomplete="off" placeholder="...type your message" ><br/>                              
        <input id="input_send" class="input_send" type="submit" name="send" value="SEND">
    </form> 
这是我的剧本:

<div id="alertbox">
<script>
$(document).ready(function(){
    $('#input_send').click(function(){
        var post = $('#autocomplete').val();
        if(post==""){   
            alert('Enter Message Please');  
        }else{
        $('#loader').fadeIn(400).html('<img src="./loader.gif" align="absmiddle">&nbsp;<span class="loading">sending</span>');
        var datasend = "alert";
        $.ajax({
            type:'post',
            url:'./includes/alerts.php',
            data:datasend,
            cache:false,
            success:function(msg__){    
                $('#autocomplete').val('');
                $('#loader').hide();
                $('#alertbox').fadeIn('slow').prepend(msg__);
                $('#alerts').delay(5000).fadeOut('slow');   
            }
        });
        }
    })          
});
</script>
</div>

提前感谢。

提交按钮将表单发布到服务器,页面将重新加载

您可以添加return false;,
ajax函数之后,则是不发送到服务器

需要阻止表单提交

$(document).ready(function(){
    $('#input_send').click(function(e){
       e.preventDefault();//here
        var post = $('#autocomplete').val();
        if(post==""){   
            alert('Enter Message Please');  
        }else{
        $('#loader').fadeIn(400).html('<img src="./loader.gif" align="absmiddle">&nbsp;<span class="loading">sending</span>');
        var datasend = "alert";
        $.ajax({
            type:'post',
            url:'./includes/alerts.php',
            data:datasend,
            cache:false,
            success:function(msg__){    
                $('#autocomplete').val('');
                $('#loader').hide();
                $('#alertbox').fadeIn('slow').prepend(msg__);
                $('#alerts').delay(5000).fadeOut('slow');   
            }
        });
        }
    })          
});

它可能工作正常,当您单击表单中的提交按钮时,表单被提交,重新加载页面?是的,但我的警报脚本没有显示..您不应该对按钮的单击事件采取行动。您应该处理表单上的提交事件。您还可以取消其中的提交。@RowellCasaña是的,因为该按钮尚未真正单击。该表单正在处理中以供提交。好的,我知道了。。但是我如何才能在提交过程中触发按钮脚本呢?谢谢,但是如果我将输入从提交更改为按钮。。警报正在工作,但在另一侧。。我的表单不工作,无法获取某些数据。。
<input id="input_send" class="input_send" type="button" name="send" value="SEND">