gpt4 book ai didi

php - jQuery Ajax 在 php 同一页面上传递值

转载 作者:可可西里 更新时间:2023-11-01 12:49:22 24 4
gpt4 key购买 nike

尝试在同一页面上发送值时,我有点困惑。

 <script>
$("select[name='sweets']").change(function () {
var str = "";
$("select[name='sweets'] option:selected").each(function () {
str += $(this).text() + " ";

});

jQuery.ajax({
type: "POST",
data: $("form#a").serialize(),

success: function(data){
jQuery(".res").html(data);

$('#test').text($(data).html());


}
});
var str = $("form").serialize();
$(".res").text(str);
});
</script>
<div id="test">
<?php
echo $_POST['sweets'];
?>
</div>
<form id="a" action="" method="post">
<select name="sweets" >
<option>Chocolate</option>
<option selected="selected">Candy</option>
<option>Taffy</option>
<option>Caramel</option>
<option>Fudge</option>
<option>Cookie</option>
</select>
</form>

好吧,如果它位于 html 标记的顶部,它将显示,但如果它位于正文内,它将显示为 null。

最佳答案

这是适合您的工作代码。要将 ajax 请求发送到同一页面,您可以将 url 参数保留为空,您已经在这样做了。如果您试图使脚本在 $_POST 具有值时表现不同,请使用 isset,正如我在下面使用的那样。

 <?php
if(isset($_POST['sweets']))
{
echo $_POST['sweets'];
exit;
}
?>

<script>
$(function(){
$("select[name='sweets']").change(function () {
var str = "";
$("select[name='sweets'] option:selected").each(function () {
str += $(this).text() + " ";

});

jQuery.ajax({
type: "POST",
data: $("form#a").serialize(),

success: function(data){
jQuery(".res").html(data);

$('#test').html(data);


}
});
var str = $("form").serialize();
$(".res").text(str);
});
});
</script>


<div id="test">

</div>

<form id="a" action="" method="post">
<select name="sweets" >
<option>Chocolate</option>
<option selected="selected">Candy</option>
<option>Taffy</option>
<option>Caramel</option>
<option>Fudge</option>
<option>Cookie</option>
</select>
</form>

关于php - jQuery Ajax 在 php 同一页面上传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7561569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com