我正在尝试从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();
}
答案 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>';
}
它添加了脚本并将其删除,因此在检查元素时它不会显示。