簡體   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