在jquery中追加php
我正在尝试使用jquery动态创建一个div来显示错误消息。我可以很容易地使用append()创建HTML,但是我需要调用一个php变量来显示内容。如果我像平常一样尝试添加php开始和结束标记,那么append方法的行为就不会像预期的那样,并从行的中间输出一个看似随机的部分。 我怎样才能克服这个问题 以下是我的jquery代码:在jquery中追加php,php,jquery,append,Php,Jquery,Append,我正在尝试使用jquery动态创建一个div来显示错误消息。我可以很容易地使用append()创建HTML,但是我需要调用一个php变量来显示内容。如果我像平常一样尝试添加php开始和结束标记,那么append方法的行为就不会像预期的那样,并从行的中间输出一个看似随机的部分。 我怎样才能克服这个问题 以下是我的jquery代码: $(document).ready(function() { var errors_php = "<?php echo validation_error
$(document).ready(function() {
var errors_php = "<?php echo validation_errors('<li>','</li>'); ?>";
$('#wrapper').append("<div id='errors'><ul>"+errors_php+"</ul></div>");
$('#errors').slideDown('slow');
});
$(文档).ready(函数(){
var错误_php=“”;
$(“#包装器”)。追加(“”+错误“
”);
$('#errors')。向下滑动('slideDown');
});
注意:validation_errors()函数是一个codeigniter方法。顺便说一句,如果我从append()中删除errors_php变量,它将按预期工作,显示一个空div
编辑:
生成的代码是:
<div id="errors"><ul>',''); ?></ul></div>
,”)
确保PHP的输出正确转义。如果错误代码中有引号(“),则会导致问题。请尝试使用addslashes
包装validation\u errors
:
$(document).ready(function() {
var errors_php = "<?php echo addslashes(validation_errors('<li>','</li>')); ?>";
$('#wrapper').append("<div id='errors'><ul>"+errors_php+"</ul></div>");
$('#errors').slideDown('slow');
});
$(文档).ready(函数(){
var错误_php=“”;
$(“#包装器”)。追加(“”+错误“
”);
$('#errors')。向下滑动('slideDown');
});
根据您的评论:
我只是查了一下那个问题,然后就知道了
这正是我想要做的。
不幸的是,我不明白你的意思
答案是他们是如何解决的。
我以前从未使用过json数据。
我应该把那段代码放在哪里
就是简单的JavaScript对象表示法,因此,如果将JavaScript变量设置为JSON值,它将重新创建一个对象的副本,该副本首先被序列化为JSON
var errors_php = "<?php echo validation_errors('<li>','</li>'); ?>";
var错误_php=”“;
应该是:
var errors_php = <?php echo json_encode(validation_errors('<li>','</li>')); ?>;
var错误_php=;
您不能在javascript文件中运行PHP代码,但可以在PHP文件中运行html&JS代码
Javascript在用户的浏览器中运行
PHP在服务器上运行。它读取您的.PHP文件,运行找到的PHP,将HTML发送到浏览器,然后退出
没有“远处的诡异动作”允许您在Javascript代码中运行PHP代码
要在PHP文件中运行html和JS代码,请执行以下操作:
$('.addctr').append(
'<div class="row">' +
'<div class="form-group col-sm-5">' +
'<label class="control-label">Parameter</label>' +
'<select class="form-control" name="asset_search">' +
'<?php foreach ($dd["asset_search"] as $asset_search) { ?>' +
'<option <?= set_select("asset_search", $asset_search["text"]) ?>><?= $asset_search["value"] ?></option>' +
'<?php } ?>' +
'</select>');
$('.addctr').append(
'' +
'' +
“参数”+
'' +
'' +
'' +
'' +
'');
屏幕上输出的是什么?抱歉@wowo\u 999我不懂。浏览器正在解析上面生成的代码,并按预期显示它(带有一点css!).Related:@John Rasch我刚查了一下这个问题,这正是我想做的。不幸的是,我不明白他们是如何解决的。我以前从未使用过json数据。我应该把那段代码放在哪里?!这行var errors\u php=”是什么意思";代码>加载页面时呈现为?我的意思是,如果你进入ViewSource,看看那一行,你会看到什么?我喜欢你的想法,但我只是尝试了一下,得到了同样的结果。错误中不应该有任何引号或类似的内容。您可以发布validation\u errors
的代码以及可能出现的示例错误吗?validation\u errors()是codeigniter框架的一部分。它在表单提交后输出预定义的错误消息,例如必填字段为空等。问题不在这个函数中,它正在研究如何让jquery发送浏览器php。在javascript函数之外,运行以下命令:
它打印出什么?