Ajax 函数无法在点击 javascript 上获得 int valor
Ajax function can't get int valor onclick javascript
我在ajax上有一个函数,可以在点击时检索输入按钮上的int,这是javascript ajax代码:
function checkBoxes(str){
var xmlhttp=browsers();
if(str=""){
document.getElementById("txt").innerHTML="";
return;
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("txt").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax.php?h"+str,true);
xmlhttp.send();
}
我使用 php 在屏幕上打印结果,并带有一个点击按钮:
if(isset($_GET['k'])){
$con=oci_connect('jvillegas','1234','XE');
if(!$con){
die("No s'ha pogut connectar: ".mysqli_error($con));
}
$k=intval($_GET['k']);
$sql3=oci_parse($con, "SELECT TARIFAS.ID, TARIFAS.ID_TIPO_ACTIVIDAD, TARIFAS.TIPO, TIPO_ACTIVIDAD.TEMPS_KM, TARIFAS.PRECIO
FROM TARIFAS, TIPO_ACTIVIDAD
WHERE TARIFAS.ID_TIPO_ACTIVIDAD=TIPO_ACTIVIDAD.ID
AND TARIFAS.ID_TIPO_ACTIVIDAD=$k");
oci_execute($sql3);
echo "<div class='divPrecios'>";
echo "<table border='1'>";
echo "<tr class='tabPreciosTitles'>";
echo "<td>Tipus Tarifa</td>
<td>Temps/Km</td>
<td>Preu</td>
<td><input type='button' class='carrito' value=''></td>";
echo "</tr>";
while (($row=oci_fetch_array($sql3,OCI_BOTH))!=false){
echo "<tr>";
echo "<td>".$row['TIPO']."</td>";
echo "<td>".$row['TEMPS_KM']."</td>";
echo "<td>".$row['PRECIO']."</td>";
echo "<td>".$row['ID']."</td>";
echo "<td><input type='button' name='checkbox[]' onclick=checkBoxes('".$row['ID']."') value='".$row['ID']."'/></td>";
echo "</tr>";
}
echo "</table>";
echo "</div>";
}
我认为有错误:
input type='button' name='checkbox[]' onclick=checkBoxes('".$row['ID']."') value='".$row['ID']."';
我做测试,如果我通过一个 int valor,它会返回 0... 为什么??
因此,如果所有结果正确,则带有结果的表:
if(isset($_GET['h'])){
$con=oci_connect('jvillegas','1234','XE');
if(!$con){
die("No s'ha pogut connectar: ".mysqli_error($con));
}
echo "<table border=1>";
echo "<tr class='tabPreciosTitles'>";
echo "<td>Nom Activitat</td>
<td>Nom Tipus Activitat</td>
<td>Tipus Tarifa</td>
<td>Temps/km</td>
<td>Preu</td>";
echo "</tr>";
$h=intval($_GET['h']);
$sql4=oci_parse($con, "SELECT ACTIVIDAD.NOM AS NOM_ACTIVIDAD, TIPO_ACTIVIDAD.NOM AS NOM_TACTIVIDAD, TARIFAS.TIPO, TIPO_ACTIVIDAD.TEMPS_KM, TARIFAS.PRECIO
FROM TARIFAS, ACTIVIDAD, TIPO_ACTIVIDAD
WHERE TARIFAS.ID=$h
AND TARIFAS.ID_TIPO_ACTIVIDAD = TIPO_ACTIVIDAD.ID
AND TIPO_ACTIVIDAD.ID_ACTIVIDAD = ACTIVIDAD.ID");
oci_execute($sql4);
$array=array(
0=>array(),
1=>array(),
2=>array(),
3=>array(),
4=>array()
);
while (($row=oci_fetch_array($sql4,OCI_BOTH))!=false){
array_push($array[0],$row['NOM_ACTIVIDAD']);
array_push($array[1],$row['NOM_TACTIVIDAD']);
array_push($array[2],$row['TIPO']);
array_push($array[3],$row['TEMPS_KM']);
array_push($array[4],$row['PRECIO']);
}
for ($x=0;$x<count($array[4]);$x++){
echo "<tr>";
echo " <td>".$array[0][$x]."</td>";
echo " <td>".$array[1][$x]."</td>";
echo " <td>".$array[2][$x]."</td>";
echo " <td>".$array[3][$x]."</td>";
echo " <td>".$array[4][$x]."</td>";
echo " <td><input type='submit' class='carritoElim' value=''></td>";
echo "</tr>";
}
echo "</table>";
}
为了显示这些结果,我使用div:
<div id='txtHint'></div>
<div id='txtIhnt'></div>
<div id='txt'></div>
如果我在最后一个表的查询上放一个 int,更改 13 的$h,它就可以工作,或者如果我在> xmlhttp.open("GET","ajax.php?h=13",true);
上更改 ajax 函数,它也可以工作。
我认为您的问题来自这里的这一行
if(str=""){
而不是进行比较,您将被分配一个空字符串到 str
变量。 因此,从函数中的该点开始,str
的值将""
。 您想将其更改为
if(str==""){
相关文章:
- 按从高到低对多个int变量进行排序
- 如何在Javascript中读取unsigned int
- 如何将Date字段设置为等于另一个Date+Int值,该值表示月份值
- 从int值来看,Javascript日期不正确
- JavaScript警报适用于int,但不适用于string
- 如何从二进制int中获取百分比,每个位表示x%
- Chart.js:将对象而不是int值作为数据传递
- 如何在javascript中将Integer转换为int
- 为什么不'将字符串转换为int不正确(parseInt)
- 如何在angular js中将double转换为int
- 获取客户端'服务器端的s最大int值
- 如何在javascript中将String变量转换为int
- JavaScript:控制台的意外输出.log('str' + int + int)
- Angular 2:如何在 GET 和 POST 请求中设置 double、float、int 和布尔类型参数
- Javascript 将 int 值转换为八位字节流数组
- 地图(int,int)期望由帖子请求
- 这是解析 Int 的有效方法吗?
- 如何在javascript中使用int变量来访问索引处的数组
- 在Javascript中将int 12345转换为float 1.2345
- Ajax 函数无法在点击 javascript 上获得 int valor