[英]onClick echo PHP code to div (AJAX)
所以我想做的是以下几点:
第一:单击按钮add-location
时, add-location
使用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;?>
这一切都像一个魅力! 这里不用担心。 没有我要做的事情是,当单击按钮add-location
时,此echo's
将以下代码传递给称为textarea#thema
的div
。
<?php foreach ($_SESSION['products'] as $product): ?>
<?php echo htmlspecialchars($product); echo "\n"; ?>
<?php endforeach;?>
或者,如果在加载页面时更容易->将该代码回显到textarea#thema
div。
我对AJAX的了解不多,但我能到达那里。 但是我认为最后一个选择也许是最简单的解决方案?
谁能帮我解决这个问题?
我尝试了什么
现在,当单击按钮add-location
,我会重新加载以前的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);
})
});
这行得通,但是它添加了一个额外的<p>
-tag,使我在代码中出现了换行符。
我还更改了.html(data);
到.val(data);
用于textareas。 我也用下面的代码制作了一个新的PHP文件:
<?php foreach ($_SESSION['products'] as $product): ?>
<?php echo htmlspecialchars($product); echo "\n"; ?>
<?php endforeach;?>
和这个jQuery代码:
$('.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);
})
});
但是仍然没有走……而且我不认为这是要走的路?? 我希望我能提供足够的信息。
您应该使用.val()
函数填充文本区域,而不是.html()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.