Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jquery中追加php_Php_Jquery_Append - Fatal编程技术网

在jquery中追加php

在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

我正在尝试使用jquery动态创建一个div来显示错误消息。我可以很容易地使用append()创建HTML,但是我需要调用一个php变量来显示内容。如果我像平常一样尝试添加php开始和结束标记,那么append方法的行为就不会像预期的那样,并从行的中间输出一个看似随机的部分。 我怎样才能克服这个问题

以下是我的jquery代码:

$(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>',''); ?&gt;</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函数之外,运行以下命令:
它打印出什么?