0

我正在尝试在 PHP 回显中的 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 />';
}

有什么想法可以完成这项工作吗?我想我有很多引用或类似的东西......

任何帮助将不胜感激,谢谢!

4

3 回答 3

0

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

于 2011-11-27T00:58:12.037 回答
0

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

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

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

于 2011-11-27T01:17:16.680 回答
0

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

$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 知道要定位哪个元素。

于 2011-11-27T01:23:41.023 回答