PHP 表单代码损坏

标签 php javascript

我正在使用 php 生成一个简单的表单。以下代码已被简化以展示该问题。

<?php
$blah = "<h1>Well</h1>"; $test = "<h2>Done</h2>";
echo '<script type="text/javascript" src="fetchlayers.js"></script>';
$formcode = "<form action=\"process.php\" method=\"post\" enctype=\"multipart/form-data \">"
          . "<label for=\"file\">Filename:</label>"
          . "<input type=\"file\" name=\"file\" id=\"file\"/> <br />"
          . "<input type=\"submit\" name=\"submit\" value=\"Submit\" "
          .    "onclick=\"setTimeout(function() { sendInfo(\"$blah\", \"$test\"); },1250);\" />"
          . "</form>";

echo "<h1>hello</h1>
<div id='form'>
$formcode
</div>";

这会产生此 html 代码

<h1>hello</h1>
<div id="form">
<form action="process.php" method="post" enctype="multipart/form-data ">
<label for="file">Filename:</label><input name="file" id="file" type="file">
<br><input name="submit" value="Submit" onclick="setTimeout(function() { sendInfo(" type="submit"><h1>Well</h1>", "<h2>Done</h2>"); },1250);" /&gt;
</form>

不知何故,type=submit 的表单代码在我调用 sendinfo() 之后结束。为什么?

最佳答案

这是因为你在 onclick 中的引用。使用单引号代替:

"onclick=\"setTimeout(function() { sendInfo('$blah', '$test'); }, 1250);\" "

现在的样子,你的 onclick 属性实际上是这样的:

onclick="setTimeout(function() { sendInfo("

关于PHP 表单代码损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/832520/

相关文章:

javascript - 使 var 可用于 javascript 中的内联函数

javascript - JavaScript 外部文件中的 PHP 语句

php - 相当于 Yii2 中的 "Yii::app()->controller->renderPartial"?

php - Zend Framework 和使用 iconv 的字符串转换

php - 如何配置可视化学习代码用docker识别php?

Javascript string.indexOf ('' ) 导致网页挂起

javascript - 固定位置在 IE 中不起作用

javascript - 更新了标记的位置,但前一个标记仍显示在 google map api 中

javascript - jquery 在加载或更改时获取选中的单选按钮的值

php - Laravel 5.2 - phpunit - 无法修改 header 信息 - header 已发送