Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将变量传递给Javascript函数-语法?_Javascript - Fatal编程技术网

将变量传递给Javascript函数-语法?

将变量传递给Javascript函数-语法?,javascript,Javascript,我知道这里有很多类似的问题,甚至在某种程度上我自己也有一次涉及到这一点——但我正在为这一特定的代码而挣扎,作为一名JS新手,我不知道我在这方面哪里出了问题 我基本上在修改TinyMCE,以摆脱弹出对话框,用我自己的对话框代替它们,保持它的整洁。我现在正在做的是插入图像。这是我现在的功能 <script type="text/javascript"> function addImage(imgurl){ tinyMCE.execCommand('mceInsertContent',fa

我知道这里有很多类似的问题,甚至在某种程度上我自己也有一次涉及到这一点——但我正在为这一特定的代码而挣扎,作为一名JS新手,我不知道我在这方面哪里出了问题

我基本上在修改TinyMCE,以摆脱弹出对话框,用我自己的对话框代替它们,保持它的整洁。我现在正在做的是插入图像。这是我现在的功能

<script type="text/javascript">
function addImage(imgurl){
tinyMCE.execCommand('mceInsertContent',false,'<img src=" +imgurl+ " style="float:left; margin: 0    5px 5px 0;" />');
}
</script>
以及链接

<a href="javascript:;" onclick="addImage('/myimage.jpg');return false;">[Insert Image]</a>
函数“工作”的原因是它插入了代码,但在本例中没有传递“imgurl”myimage.jpg,而是插入了/myimage.jpg,插入+imgurl+


非常感谢这位新手的指点

您传递的变量很好。问题是,您并没有连接它的值,而是一个值为+imgurl+的字符串。使用以下选项,注意“在+imgurl+之前和之后”的关闭和启动:


你传递的变量很好。问题是,您并没有连接它的值,而是一个值为+imgurl+的字符串。使用以下选项,注意“在+imgurl+之前和之后”的关闭和启动:


您的字符串格式不正确:

'<img src="' + imgurl + '" style="float:left margin: 0 5px 5px 0;" />';

您的字符串格式不正确:

'<img src="' + imgurl + '" style="float:left margin: 0 5px 5px 0;" />';

你的连接不正确。。。使用单引号打开时,请使用单引号连接。使用双引号时,请使用双引号

function addImage(imgurl){
     tinyMCE.execCommand('mceInsertContent',false,'<img src="'+imgurl+'" style="float:left; margin: 0 5px 5px 0;" />');
}

避免此类问题的一个好方法是使用一个好的编程编辑器notepad++、sublime 2、coda、textmate、phpad,该编辑器具有语法高亮显示功能,因为即使是专家程序员也会偶尔出现语法错误。即使是stackoverflow.com拥有的简单荧光笔也足够了。只要看看上面的代码,就可以看出双引号后的所有内容仍然被解析为字符串,因为它仍然与字符串的颜色相同,而变量在通过语法高亮显示时会改变颜色。

您的连接不正确。。。使用单引号打开时,请使用单引号连接。使用双引号时,请使用双引号

function addImage(imgurl){
     tinyMCE.execCommand('mceInsertContent',false,'<img src="'+imgurl+'" style="float:left; margin: 0 5px 5px 0;" />');
}

避免此类问题的一个好方法是使用一个好的编程编辑器notepad++、sublime 2、coda、textmate、phpad,该编辑器具有语法高亮显示功能,因为即使是专家程序员也会偶尔出现语法错误。即使是stackoverflow.com拥有的简单荧光笔也足够了。只要看看上面的代码,就可以看出双引号后的所有内容仍然被解析为字符串,因为它的颜色仍然与字符串相同,而变量在语法高亮显示时会改变颜色。

至少修复了,但这并不是问题所在。如果可以的话,我会给img一个类,然后使用一个样式元素来正确地设置它的样式,而不是使用内联样式。。。但这不是问题所在。谢谢@Nile-这就解决了问题。不使用css的原因是因为代码被放置在所见即所得编辑器中。至少修复了,但这并不是问题所在。如果可以的话,我会给img一个类,然后使用一个样式元素来正确地设置它的样式,而不是使用内联样式。。。但这不是问题所在。谢谢@Nile-这就解决了问题。不使用css的原因是因为代码被放置在wysiwyg编辑器中。您已经有很多正确的答案,但是一个有用的提示是仔细查看编辑器中的语法突出显示。例如,如果将函数粘贴到jsfiddle.net的JavaScript框中,您将看到imageurl这个词与字符串的其余部分颜色相同,这意味着它是字符串的一部分。当您进行修复时,它将变为蓝色,表示它是一个变量。再见,谢谢-这是一个很好的建议!您已经有了很多正确的答案,但是一个有用的提示是仔细查看编辑器中的语法高亮显示。例如,如果将函数粘贴到jsfiddle.net的JavaScript框中,您将看到imageurl这个词与字符串的其余部分颜色相同,这意味着它是字符串的一部分。当您进行修复时,它将变为蓝色,表示它是一个变量。再见,谢谢-这是一个很好的建议!