很抱歉再次打擾我的非常基本的問題。首先,對不起,如果我的英語有點難以理解。我目前的情況是我想在我的拖放框中做一個彈出模式。在我的彈出模式中,我可以根據我們在框中的按鈕中單擊的內容來查看和編輯用戶的詳細資訊。問題是,我無法通過 id 選擇資料。但是,當我選擇所有資料時,資料會出現在模式框中。但是,似乎所有的資料。我只想要選定的ID。回到我過去幾天的問題,我再次重做以進一步了解這個彈出模式部分。我已經完成了 ajax 和一點 JavaScript,而且,我嘗試按照我被告知的內容除錯我的代碼,但我收到一條錯誤訊息 "Parameter is missing" 。這是什么原因造成的?一世' 已經閱讀了一些關于引數的內容,但我仍然沒有真正了解它。有人可以給出一個想法,實際上缺少什么引數。我想用它做什么?
這是我到目前為止所嘗試的。
這是按鈕
<button data-id="<?php echo $row['userid'];?>" data-target="doubleClick-1" class='jobinfo' type='button' id='btnInfo' ondblclick="document.getElementById('doubleClick-1').style.display='block'">Info</button>
這是模態彈出視窗
<div id="doubleClick-1" class="modal">
<label class="tabHeading">User Info</label>
<div class="contentTechJobInfo">
<div class="tech-details">
<div class="techClose" onclick="document.getElementById('doubleClick-1').style.display='none'" >×</div>
</div>
</div>
</div>
</div>
<script type='text/javascript'>
$(document).ready(function() {
$('.jobinfo').click(function() {
var userid = $(this).data('userid');
// AJAX request
$.ajax({
url: 'ajaxhome.php',
type: 'post',
data: {userid: userid},
success: function(response) {
// Add response in Modal body
$('.tech-details').html(response);
// Display Modal
$('#doubleClick-1').modal('show');
}
});
});
});
</script>
這是我的 ajaxhome.php
<?php
$connection = mysqli_connect("", "", "");
$db = mysqli_select_db($connection, '');
if (!isset($_GET['userid'])) {
die("Parameter is missing!");
}
$userid = intval($_GET['userid']);
$query = "SELECT * FROM user WHERE userid ='$userid'";
$query_run = mysqli_query($connection, $query);
if ($query_run) {
while ($row = mysqli_fetch_array($query_run)) {
?>
<div class="input-box">
<label for="">Name</label>
<input type="text" id="username" name="username" value="<?php echo $row['username']?>">
</div>
<div class="input-box">
<label for="">Number</label>
<input type="text" id="usernumber" name="usernumber" value="<?php echo $row['usernumber']?>">
</div>
<div class="input-box">
<label for="">Class</label>
<input type="text" id="userclass" name="userclass" value="<?php echo $row['userclass']?>">
</div>
<button type="submit" id="submit" name="update" class="btn btn-primary"> Update Data </button>
<?php
if (isset($_POST['update'])) {
$username = $_POST['username'];
$usernumber = $_POST['usernumber'];
$userclass = $_POST['userclass'];
$query = "UPDATE user SET username='$username', usernumber='$usernumber', userclass='$userclass' WHERE userid='$userid'";
$query_run = mysqli_query($connection, $query);
if ($query_run) {
echo '<script> alert("Data Updated"); </script>';
header("location:homepage.php");
} else {
echo '<script> alert("Data Not Updated"); </script>';
}
}
} ?>
<?php
}
?>
uj5u.com熱心網友回復:
簡而言之,我認為問題出在您的模式中的這些代碼行:
var userid = $(this).data('userid');
你應該用
var userid = $(this).data('id'); // you should pass 'id' to .data() function instead of 'userid'
使用您當前的代碼userid變數,您modal將永遠是undefined. 這意味著當您向 PHP 發送 ajax 請求時,它不會存在于 $_GET 中。它會導致你的ajaxhome.php動作die("Parameter is missing!");。
要使用 jQuery 獲取 data-xxx 屬性,您應該使用 pass 'xxx' 到.data()函式。
var xxx = $(this).data('xxx');
在您的按鈕中,您存盤userid在data-id屬性中
<button data-id="<?php echo $row['userid'];?>"
所以如果你需要得到userid你應該傳遞'id'給 .data() 函式
更新:在你的 ajax 中,你正在使用type: 'post',所以在你的 php 代碼中你應該檢查$_POST而不是$_GET
uj5u.com熱心網友回復:
我不認為已經獲得了用戶的價值
var userid = $(this).data('userid');
你可以試試
var userid = $(this).data('id');
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/414249.html
標籤:
上一篇:Ajax沒有發出警報
