Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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
Php 在javasscript的setattribute函数中使用变量_Php_Javascript_Jquery_Html_Javascript Events - Fatal编程技术网

Php 在javasscript的setattribute函数中使用变量

Php 在javasscript的setattribute函数中使用变量,php,javascript,jquery,html,javascript-events,Php,Javascript,Jquery,Html,Javascript Events,显示非城市名称而不是城市名称。我尝试了以下代码- <script type="text/javascript" language="javascript" > function submitcity(c){ document.getElementById("ct").setAttribute('value',+c);//displaying NoN //document.cityform.submit(); alert(c); }</script> 功能提交(c){

显示非城市名称而不是城市名称。我尝试了以下代码-

<script type="text/javascript"  language="javascript" >
function submitcity(c){
document.getElementById("ct").setAttribute('value',+c);//displaying NoN
//document.cityform.submit();
alert(c);
}</script>

功能提交(c){
document.getElementById(“ct”).setAttribute('value',+c);//显示非
//document.cityform.submit();
警报(c);
}
体内

<img src="images/reset.jpg" width="80" height="24" onclick="submitcity('bhopal');" />
<form  action="" method="post" name="cityform" style="display:none;">
<input type="hidden" name="city" id="ct" value="" /></form>

+c

document.getElementById(“ct”).setAttribute('value',+c)

您试图将强制转换字符串(不表示数字)键入以
+
为前缀的数值,因此看到
NaN
(不是数字),它应该是:

document.getElementById("ct").setAttribute('value',c);
document.getElementById("ct").setAttribute('value',c);
+
是一个一元运算符,用于将类型转换为数值

请参见

一元加号运算符位于其操作数之前,并计算为其操作数,但如果尚未将其转换为数字,则尝试将其转换为数字。例如,y=+x取x的值并将其赋值给y;也就是说,如果x是3,y将得到值3,x将保留值3;但是如果x是字符串“3”,y也会得到值3。虽然一元否定(-)也可以转换非数字,但一元加号是将某事物转换为数字的最快和首选方式,因为它不对数字执行任何其他操作。它可以转换整数和浮点的字符串表示形式,以及非字符串值true、false和null。支持十进制和十六进制(“0x”-前缀)格式的整数。支持负数(但不支持十六进制)。如果它不能解析特定的值,它将计算为NaN

试试这个

function submitcity(c){
   document.getElementById("ct").setAttribute('value',c);//remove + sign before c
   //document.cityform.submit();
   alert(c);
}
+
置于值之前将尝试将其转换为数字。你没有传递一个号码。你实际上看到的是
NaN

从变量后面删除
+

document.getElementById("ct").setAttribute('value',+c);
变成

document.getElementById("ct").setAttribute('value',c);