簡體   English   中英

在不刷新頁面php的情況下獲取同一頁面中的輸入字段值

[英]Get input field value in same page without refreshing page php

我正在嘗試將我的輸入值發送到同一頁面中的代碼段,但是它不起作用。 現在,我無法在代碼段中獲取該值。 這是我當前的代碼:

<?php
if ($section == 'codesegment') {
if ($_GET['hour']) {
echo $_GET['hour'];
//here i want call my method to update db with this value of hour...
}
if ($section == 'viewsegment') {
?>
<form id="my_form" action="#" method="Get">
<input name="hour" id="hour" type="text" />
<input id="submit_form" type="submit" value="Submit" />
</form>


<script>
var submit_button = $('#submit_form');

submit_button.click(function() {

var hour = $('#hour').val();
var data = '&hour=' + hour;


$.ajax({
    type: 'GET',
    url: '',
    data: data,   
    success:function(html){
       update_div.html(html);
    }
});
});
</script>

有什么建議嗎?

如果要獲取值而不刷新頁面,則必須使用javascript,可以嘗試以下操作:

$('#hour').onchange = function () {
    //type your code here
}

順便說一下,您的php腳本是服務器端的,因此,如果沒有post / submit / refresh,則不能使用該值

無論何時使用

<input type="submit">

它將數據發送到表單的操作 ,因此,每當您在調用onclick函數之前單擊提交按鈕時,都會將數據發送到操作並刷新頁面。 因此,與其使用輸入元素,不如嘗試這樣的事情

<button id="submit_form"> Submit </button>

兩件事:1.正如Yesh所說,您需要將輸入Submit更改為button type=button並在該按鈕上添加onClick函數。 或者,您可以在函數行function sampleFn(){}給javascript函數,然后在表單的onSubmit上調用此函數。 2.您需要給javascript內部document.ready函數,因為腳本在dom加載之前執行,並且var submit_button = $('#submit_form'); 可能找不到。 在這種情況下,瀏覽器控制台中將出現錯誤。

嘗試在帖子中添加錯誤,因為這將有助於輕松調試。

無法在同一頁面上執行。 您可以使用數據將ajax調用寫入另一個頁面,在該頁面中您可以使用該數據執行功能。

像這樣

//form.php

<form id="hour-form">
   <input type="text" name="hour" id="hour">
   <input type="submit" name="hour-submit" >
</form>
<script type="text/javascript">
   $(document).ready(function(){
       $(document).on('submit', '#hour-form', function(e){
           e.preventDefault();
           var data = $('#hour').val();
           $.ajax({
               url: "post.php",
               method: "POST",
               data: {'hour':data},
               success: function(data)
               {
                 //if you want to do some js functions
                 if(data == "success")
                 {
                    alert("Data Saved");
                 }
               }
           });
       });
   });

//post.php

if(isset($_POST['hour']))
{
   // do the php functions
   echo "success";
}

暫無
暫無

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

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