Javascript onClick-echo-PHP代码到div(AJAX)
所以我想做的是: 第一:单击按钮Javascript onClick-echo-PHP代码到div(AJAX),javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,所以我想做的是: 第一:单击按钮addlocation时,将使用AJAX加载一个php文件 jQuery $('.add-location').click(function() { var locationName = $(this).data('location'); $.post('http://www.example.com/reload-location-2.php?addparam', {locationName: loc
addlocation
时,将使用AJAX加载一个php文件
jQuery
$('.add-location').click(function() {
var locationName = $(this).data('location');
$.post('http://www.example.com/reload-location-2.php?addparam',
{locationName: locationName}, function(data) {
$("textarea#location").html(data);
})
});
PHP文件
<?php start_session();
$locationName = array_key_exists('locationName',
$_POST) ? (string) $_POST['locationName'] : '';
if(isset($_GET['delparam'])){
unset($_SESSION['locations'][$locationName]);
}
if(isset($_GET['addparam'])){
$_SESSION['locations'][$locationName] = $locationName;
}
?>
<?php foreach ($_SESSION['locations'] as $location): ?>
<?php echo htmlspecialchars($location); echo "\n"; ?>
<?php endforeach;?>
或者,如果加载页面时更容易,则->将该代码回显到textarea\thema
div
我不太懂AJAX,但我正在努力。但我认为最后一个选择可能是最简单的解决方案
有人能帮我弄清楚这个吗
我尝试的 现在,当单击按钮
addlocation
时,我会重新加载以前的jQuery脚本:
$('.add-location').click(function() {
var productName = $(this).data('product');
$.post('http://example.com/reload-2.php?addparam',
{productName: productName}, function(data) {
$("textarea#thema").html(data);
})
});
这是可行的,但它添加了一个额外的
-标记,使我在代码中有一个换行符
我还更改了.html(数据)
到.val(数据)代码>用于文本区域。我还用以下代码创建了一个新的PHP文件:
<?php foreach ($_SESSION['products'] as $product): ?>
<?php echo htmlspecialchars($product); echo "\n"; ?>
<?php endforeach;?>
但还是不行。。。我不认为这是一条路要走??我希望我提供了足够的信息。你应该使用.val()
函数来填充文本区域,而不是.html()不@胡洛斯。使用.val()时,换行符仍然存在代码>你确定断线不是你回音的“\n”吗?@Cruiser,Jeeezzz我觉得很愚蠢!我制作了reload-3,因此它没有使用“\n”
,现在换行符消失了。也许这也与.val()有关代码>而不是.html()代码>。好的,谢谢你。
<?php foreach ($_SESSION['products'] as $product): ?>
<?php echo htmlspecialchars($product); echo "\n"; ?>
<?php endforeach;?>
$('.add-location').click(function() {
var productName = $(this).data('product');
$.post('http://www.example.com/reload-3.php',
{productName: productName}, function(data) {
$("textarea#thema").val(data);
})
});