我有以下脚本,它从我的数据库中返回2个值。
$(document).ready(function() {
<?
$link=new mysqli($serveur,$login,$pass,$base);
mysqli_set_charset($link, "utf8");
$r=mysqli_query($link, "select sujet,corps from mail where type='Création_rationnaire'");
while($row = mysqli_fetch_array($r)) {
?>
document.getElementById("sujet").value="<? echo $row[sujet];?>";
document.getElementById("te").value="<? echo $row[corps];?>";
<? }mysqli_close($link); ?>
});
这是我的2个表单,一个是经典输入,另一个是textarea。
<input id='sujet' class="form-field">
<textarea id="te" class="textarea" rows="9" cols="70"></textarea>
问题是:我的SQL请求在MySQL中有效,但是当&#34; corps&#34;如上所述,输入中没有任何内容出现,就像脚本崩溃一样......只有&#34; sujet&#34;可以成功回应。那么......为什么,为什么呢?提前感谢帮助我的人。
编辑:我可以在&#34; te&#34; textbox是这样的单个字符串:echo 'something';
...但没有其他工作......
答案 0 :(得分:5)
试试这个
document.getElementById("sujet").value="<? echo $row['sujet'];?>";
document.getElementById("te").text="<? echo $row['corps'];?>";
或者如果你使用jquery
var message = <?php echo $row['corps']; ?>;
$("#te").val(message);
Textarea没有值,但确实有文本。
在输入框中你会有<input type="text" value="example" />
,在文本区域中,值就在元素内部,如此
<textarea>example</textarea>
另一种方法是使用innerHtml(javascript)或html(jquery)。 但请注意,html标签将显示其中一个选项
答案 1 :(得分:3)
document.getElementById("te").innerHTML="<? echo $row['corps'];?>";
答案 2 :(得分:1)
<textarea>
没有价值属性。由于您使用jQuery绑定文档,因此可以使用jQuery设置值。
$("#sujet").val("<? echo $row[sujet];?>");
$("#te").html("<? echo $row[corps];?>");
答案 3 :(得分:1)
$ row [corps]的价值是多少?它是空字符串吗?它是否包含双引号或换行符?如果它包含任何一个,它将破坏您的JavaScript源代码。当您在浏览器中检查源代码时,javascript源代码是什么样的?
答案 4 :(得分:0)
它的工作原理是将值直接插入到普通的html表单中。我通常使用这个javascript函数,因为我有大量的表单来填写我的程序,直到现在它都没有失败...所以我上面的函数很好,但我们仍然不知道为什么它在这个特殊情况下失败了...
无论如何,问题已经解决了...感谢所有人。