通过AJAX方法提交表格以改变选择领域

时间:2016-02-03 08:17:08

标签: javascript jquery html css

我想在不离开当前页面的情况下发送表单,所以我使用这个ajaxi方法,而且我在select值的onchange方法中使用了我的提交。但是它不起作用:

<form action="" method="post" id="rati">
 <select onchange="this.form.submit()" name="rate" style="width:130px;">
  <option value="1">☆</option>
  <option value="2">☆☆</option>
  <option value="3">☆☆☆</option>
  <option value="4">☆☆☆☆</option>
  <option value="5">☆☆☆☆☆</option>
</select> 
</form>


<script>
    $(document).ready(function(e) {
        $("#rati").submit(function(e) {
            var url = "/saverate.bc?userid=18&id=122";
            $.ajax({
                type: "POST",
                url: url,
                data: $("#rati").serialize(),
                success: function(data) {
                    $(".tnxforate").html(data)
                }
            });
            e.preventDefault();
        });
    });
</script>

1 个答案:

答案 0 :(得分:0)

您不应为此附加内联处理程序。当您通过ajax收到回复时,无需提交表单。

试试这个:

&#13;
&#13;
$(document).ready(function(e) {
  $("[name='rate']").on('change', function() {
    var url = "/saverate.bc?userid=18&id=122";
    $.ajax({
      type: "POST",
      url: url,
      data: $("#rati").serialize(),
      success: function(data) {
        $(".tnxforate").html(data)
      }
    });
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<form action="" method="post" id="rati">
  <select name="rate" style="width:130px;">
    <option value="1">☆</option>
    <option value="2">☆☆</option>
    <option value="3">☆☆☆</option>
    <option value="4">☆☆☆☆</option>
    <option value="5">☆☆☆☆☆</option>
  </select>
</form>
&#13;
&#13;
&#13;