Javascript 我可以使用document.getElementById.write()吗;在heredoc里面写?

Javascript 我可以使用document.getElementById.write()吗;在heredoc里面写?,javascript,php,html,document.write,Javascript,Php,Html,Document.write,我希望能够在herdoc语法中编辑一些内容。大概是这样的: index.php: $var = <<<HTML <form action="index.php" method="get" id="forma"> <input type="radio" name="choice" value="value">Message<br> </for

我希望能够在herdoc语法中编辑一些内容。大概是这样的:

index.php:

$var = <<<HTML
                <form action="index.php" method="get" id="forma">
                <input type="radio" name="choice" value="value">Message<br>

                </form>
HTML;
...
$form = $var;   
$var=您试图做的(更改HEREDOC)是不可能的

PHP在服务器上得到解释,结果是一个带有一些嵌入式JS的HTML文件。 只有在这个HTML文件到达客户端并被解释之后,JS才会被执行。此时,包含herdeoc的原始PHP文件早已不存在了


但是,您可以在客户端操作DOM,但是您应该使用
元素.innerHTML
作为
文档的替代方法。编写

如果我理解正确,您希望有一个按钮,在一些用户操作之后可以看到。我建议创建隐藏的按钮,然后通过JS显示,而不是通过JS创建

因此,您的HTML变成:

$var = <<<HTML
  <form action="index.php" method="get" id="forma">
      <input type="radio" name="choice" value="value">Message<br>
      <!-- Note the *style* attribute -->
      <input type="submit" style="display: none;" id="submitBtn">  
  </form>
HTML;

编辑:JsFiddle for this:

是否要替换表单中的所有内容,或添加到表单中?
document.getElementById('forma')。innerHTML=''
覆盖或
document.getElementById('forma').innerHTML+=''
追加。@RocketHazmat不起作用,而不是抱怨其他人提供的解决方案不起作用,你为什么不给我们更多的细节,告诉我们你到底想实现什么,以什么方式实现?对于您描述的问题,已经提供了几种有效的解决方案。如果这不是你要解决的问题,请考虑更详细地解释。那么,是否还有另一种方法将HTML放入PHP变量中,然后通过javascript添加到html?也许如果你解释一下你的上下文,以及为什么你认为需要通过JS代码修改php变量,我们可以提供更多帮助。你不需要修改php变量,正如在其他答案中更详细地提到的那样,JS操作DOM就足够了,但我需要将html放入php变量中。有没有替代html服务器端的方法?@Jordan您似乎不太清楚客户端代码和服务器端代码之间的区别。更改服务器端HTML的唯一方法是从数据库中加载、从文件中读取、根据参数进行更改等。JS脚本无法更改服务器端PHP文件,也没有必要这样做。您忘记了结束引号:
document.getElementById('submitBtn')并且它不会使按钮可见我添加了缺少的报价。在Firefox中它对我很有效。看见当然,您必须确保以某种方式调用了JS函数。在我的示例中,我使用了一个链接,但您可以通过其他方式自由调用它。您没有在问题中指定如何调用
确认
-对话框。它在没有HEREDOC时工作。JSFiddle不显示php。否则,它会起作用。不过,谢谢。好吧,JSFIDLE只用于客户端代码,所以它不能解释仅限于PHP的普通HTML和JavaScript。
$var = <<<HTML
  <form action="index.php" method="get" id="forma">
      <input type="radio" name="choice" value="value">Message<br>
      <!-- Note the *style* attribute -->
      <input type="submit" style="display: none;" id="submitBtn">  
  </form>
HTML;
function someJsHandler() {
  if (confirm("Your message here")) {
    var button = document.getElementById('submitBtn');
    button.style.display = 'block'; // Makes the button visible
  }
}