[英]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.