Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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_Jquery_Html - Fatal编程技术网

在javascript中传递包含空格的字符串

在javascript中传递包含空格的字符串,javascript,jquery,html,Javascript,Jquery,Html,我有一个像这样的div类,希望调用setlocation函数,它将在文本框中设置状态的值 <div class="overview over_widt"> <ul> <li class="auto" title="All India"></li> {% for state_obj in state_list %} <li name="state" class="auto" tit

我有一个像这样的div类,希望调用setlocation函数,它将在文本框中设置状态的值

<div class="overview over_widt">
    <ul>
        <li class="auto" title="All India"></li>
        {% for state_obj in state_list %}
            <li name="state" class="auto" title="{{state_obj.name}}"><a href="#{{state_obj.id}}" onclick=javascript:setlocation("{{state_obj.name}}")> {{ state_obj.name }}</a></li>
         {% endfor %}
    </ul>
还有我的文本框

<input type="text" class="text2" name="location" id="id_autocomplete" placeholder="Enter Location" onfocus="show_div();" onkeyup="div_autocomplete()"/>

但这也不起作用。

您必须将HTML属性值用引号括起来:

onclick="setlocation('{{state_obj.name}}')"
否则,带有空格的值将弄乱HTML。如果不使用引号,则仅将下一个空格之前的字符视为值的一部分。因此,如果生成的HTML是

onclick=setlocation("foo bar")
然后您将有一个属性
onclick
,其值为
setlocation(“foo
和一个布尔属性
bar”)
(虽然这可能无效,但我认为属性名称不能包含


但实际上,您可以使用或来代替内联事件处理程序。

您必须将HTML属性值用引号括起来:

onclick="setlocation('{{state_obj.name}}')"
否则,带空格的值将弄乱HTML。如果不使用引号,则只有下一个空格之前的字符才被视为值的一部分。因此,如果生成的HTML是

onclick=setlocation("foo bar")
然后您将有一个属性
onclick
,其值为
setlocation(“foo
和一个布尔属性
bar”)
(虽然这可能无效,但我认为属性名称不能包含


但实际上,您可以使用或来代替内联事件处理程序。

“传递这些参数会产生问题”,问题到底是什么?使用
encodeURIComponent
对字符串进行编码并将其传递给setlocation.onclick=“javascript:setlocation({{state\u obj.name}”)请注意,
javascript:
标签在这里是完全不必要的。“传递这些参数会产生问题”到底是什么问题?使用
encodeURIComponent
对字符串进行编码并将其传递给setlocation.onclick=“javascript:setlocation({{state\u obj.name}')”请注意,
javascript:
标签在这里是完全没有必要的。如果你解释一下否决票,我可以改进我的答案。没有解释,我几乎无能为力。非常感谢。如果你解释否决票,我可以改进我的答案。没有解释,我几乎无能为力。非常感谢。