繁体   English   中英

尝试在PHP中回显JS函数

[英]Trying to echo JS function in PHP

我试图在PHP echo内的HTML字符串中回显js函数。

我不知道:

$MY_JS_FUNCTION = '<script type="text/javascript">item + getLastField2()</script>';

if($row2->type == 'text') {
    echo "<li id='item-".$row2->rank."' class='list_item'>";
    echo "<textarea rows='2' id='".$row2->single_id."' cols='90' name='field[".$MY_JS_FUNCTION."]' data-kind='text' >".$row2->content."</textarea>";
    echo "</li>";
    echo '<br />';
}

有什么想法可以进行这项工作吗? 我想我里面有很多引号或类似的东西...

任何帮助将非常非常感谢,谢谢!

我建议也将名称存储在数据库中。 然后,您可以使用$ row2-> name插入正确的名称

您的变量$MY_JS_FUNCTION包含带有一些(奇怪的)JavaScript代码(缺少分号)的HTML <script>标记。 根据您的代码,第5行的echo导致以下HTML:

<textarea ... name='field[<script type="text/javascript">item + getLastField2()</script>]' ... >...</textarea>

这绝对不是有效的HTML。 还有你的问题...

看来您的意图是回显该JS,以便在加载页面时,JS实际上为该textarea设置名称字段的值。 如果是这样,一种更简单的方法可能是这样的:

$MY_JS_FUNCTION = '<script type="text/javascript">document.getElementById("myTextArea").name = item + getLastField2()</script>';

if($row2->type == 'text') {
    echo "<li id='item-".$row2->rank."' class='list_item'>";
    echo "<textarea rows='2' id='".$row2->single_id."' cols='90' id='myTextArea' data-kind='text' >".$row2->content."</textarea>";
    echo $MY_JS_FUNCTION;
    echo "</li>";
    echo '<br />';
}

这将产生有效的HTML。 到达该行后,JS函数将触发,并将“名称”值更新为该函数的结果。 确保添加“ id”字段,以便JS知道要定位的元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM