簡體   English   中英

獲取選擇值而不刷新表單

[英]Get the select value without refreshing the form

使用此代碼,我可以看到每個選項值都已打印,但是每次選擇一個選項時都會刷新頁面。 服務器正確獲取了發布數據,所以我只需要不刷新即可。 謝謝。 問候。

<form action="" method="post">
   <select name="day" onchange="this.form.submit();">
      <option>Please select a date</option>
      <option value="Mon">Monday</option>
      <option value="Tue">Tuesday</option>
      <option value="Wed">Wednesday</option>
      <option value="Thu">Thursday</option>
      <option value="Fri">Friday</option>
   </select>
</form>
<script type="text/javascript">
   $('#day').change(function() 
   {
      $.ajax({
           type: 'post',
           url: "day.php",
           data: $("form.day").serialize(),
       });
        return false;
   });
</script>
<?php 
include 'day.php'; ?>

day.php

<?php
$day = $_POST['day'];
echo $day;
?>

更新onchange以調用Javascript函數,該Javascript函數將數據復制到另一種形式的隱藏字段中,然后使用Ajax提交該表單。

(可選)您也可以直接通過Ajax提交數據,而無需其他形式,但是對於可能需要高頻處理的事情,我發現盡可能減小帶寬非常有用。

我認為您需要這樣做:

e.preventDefault();

//添加您的id =“ day”

 <select name="day" id="day" onchange="this.form.submit();">
        $('#day').change(function(e) 
           {
             e.preventDefault();
              $.ajax({
                   type: 'post',
                   url: "day.php",
                   data: $("form.day").serialize(),
               });
                return false;
           });

我可以看到<p id=..>打印的每個選項值,而無需刷新頁面。 但是帖子數據沒有傳遞給day.php。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<html>
<head>
<script>
    function postSelection(selectObject) {
        var day = window.dateForm.day.value = selectObject.options[selectObject.selectedIndex].value;
        var dataString = "day=" + day;

        $.ajax ({
        type:"post",
        url: "day.php",
        data:dataString,
        success: function (response) {
            $("#list").html(response);

        }
      });
        return false;
    }
</script>
</head>
<body>

<form name="displayForm">
<select name="day" onchange="return postSelection(this)">
<option>Please select a date</option>
<option value="Mon">Monday</option>
<option value="Tue">Tuesday</option>
<option value="Wed">Wednesday</option>
<option value="Thu">Thursday</option>
<option value="Fri">Friday</option>
</select>
</form>

<form action="" method="post" name="dateForm">
<input type="hidden" name="day">
</form>

<?php include 'day.php'; ?>
</body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM