如何在echo字符串和函数调用中插入变量?

时间:2017-06-27 21:32:50

标签: javascript php jquery html

我查了这篇文章但没有运气: PHP - concatenate or directly insert variables in string

有问题的嫌疑人:showUser(3, change, " . $name . ");'> $ name打破了代码;第二个$ name确实有效。变量不会传递给函数。 我已经测试了几个小时才能让它工作!它似乎应该工作。 我尝试检查应用程序中的其他位置,看看问题可能是什么,这似乎是罪魁祸首。

<?php 
if ($q !== "") {
$q = strtolower($q);
$len=strlen($q);
foreach($a as $name) {
    if (stristr($q, substr($name, 0, $len))) {
        if ($hint === "") {

            $hint = "<p onClick='DoIt(); showUser(3, change, " . $name . ");'>" . $name . "</p>";
        } else {
            $hint .= "\n" . "$name";
        }
    }
} 
?>

2 个答案:

答案 0 :(得分:0)

JavaScript可能需要引用$ name。

$hint = "<p onClick='DoIt(); showUser(3, change, \"" . $name . "\");'>" . $name . "</p>";

转义这样的引号将导致它们出现在JS函数调用中。

在一行中混合使用PHP,JavaScript和HTML时,引号通常是一个棘手的问题。

答案 1 :(得分:0)

您可以像这样引用您的变量

Traceback (most recent call last):
    ...............

290, in pre_save if file and not file._committed:
AttributeError: 'MultiValueDict' object has no attribute '_committed'


class UserFiles(models.Model):
     user = models.ForeignKey(User)
     file_name = models.CharField(max_length=255, null=True)
     file = models.FileField(blank=True,
                        upload_to='media/files/users_file/', null=True)
     def __unicode__(self):
         return u'%s' % self.user