按Enter键时如何使用ajax发送数据

时间:2015-08-11 05:00:14

标签: php ajax

form.php的

<form action="#" method="POST" enctype="multipart/form-data" style="textalign: center;">    

    <label class="label" for="Fromdate">From Date</label>

    <input type="text" id="datepicker" class="textBox" name="fromDate" />

    <label class="label" for="Todate">To Date</label>

    <input type="text" id="datepicker1" class="textBox" name="toDate" />

    <input type="submit" name="searchby" id="searchby" value="Search" class="buttonLarge" />

    <input type="submit" name="excel" value="Export To Excel" class="buttonLarge" />

</form>

datediff.php

<?php 
if(($_POST['searchby'] == 'Search')){

?>  
<script type="text/javascript">

        var fromDate = $("#datepicker").val();

        var toDate = $("#datepicker1").val();

            $.ajax({
                type: "POST",
                url: "datediff.php",
                data: { fromDate,toDate },
                cache: false,
                success: function (html) {                
                }

            });

</script>

<?php

}

?>

1 个答案:

答案 0 :(得分:1)

  • 错误的json {fromDate,toDate}。
  • 是的,如果我们按回车键,它会提交。要通过ajax提交它,我们必须通过event.preventDefault()来防止默认功能。

    $(document).keypress(function(e) {
    if(e.which == 13) {
       e.preventDefault();
       search();
     }
    });
    
    $('#searchby').click(function(e){ 
      e.preventDefault();
      search(); 
    });
    
    function search()
    {
      $.ajax({
            type: "POST",
            url: "datediff.php",
            data: { 'fromDate':$('#datepicker').val(), 'toDate':$('#datepicker1').val() },
            cache: false,
            success: function (html) {                
            }
    
        });
    }