添加javascript函数并立即从HTML中删除

时间:2015-07-27 15:06:02

标签: javascript php html

我正在尝试从PHP代码向HTML添加script元素,并立即将其删除,以便在HTML中不可见。该脚本仅包含要在同一时刻执行的操作而不包含函数。通常,我正在尝试复制ASP.NET s runat属性,因此我将能够直接从PHP代码设置元素值(现在的输入)。

这是我到目前为止所尝试的(我在一个不同的问题中找到了我的一些更改)并且它正确地添加了脚本,但是不会删除它。

function JSSetValue($id, $value) // Input 'value' only
{
    echo '<script>
          var input = document.getElementById("' . $id . '");
          input.value = "' . $value . '"
          </script>';
    $html = <<<HTML
...
HTML;
    $dom = new DOMDocument();
    $dom->loadHTML($html);
    $script = $dom->getElementsByTagName('script');
    foreach($script as $item)
    {
        $item->parentNode->removeChild($item); 
        break;
    }

    $html = $dom->saveHTML();
}

1 个答案:

答案 0 :(得分:0)

感谢所有想要帮助的人。无论如何,我找到了一个解决我问题的方法,就是:

function JSSetValue($id, $value) // Input 'value' only
{
    echo '<script id="phpjs">
          var input = document.getElementById("' . $id . '");
          input.value = "' . $value . '";
          document.getElementById("phpjs").remove();
          </script>';
}

它添加了脚本并将其删除,因此在检查元素时它不会显示。