为什么在javascript中使用innerHTML会回复额外引用?

时间:2017-04-12 07:00:32

标签: javascript php

我有PHP页面有文本框和按钮,当点击文本框中的按钮文本插入数据库和文本框更改为标签和文本显示在标签上,但当我更改标签文本与javascript echo额外报价时:

php代码:

echo "<label id='crlabel".$counterRecord."'></label>";
echo "<input name='cr_number1' id='cr_number".$counterRecord."' type='text'>";
echo "<input class='pad' type='button'  id='cr".$counterRecord."' style='background-color:#428bca' value='s'>";

js code:

for (var i = 1; i < 21; i++) {
(function(cr) {
    $("#cr"+cr).click(function () {
        $.get("cr.php", {
            id: $("#recordid"+cr).val(),
            cr_number:'"' +$("#cr_number"+cr).val()+ '"'
        },function(data){if(data =="cr"){
        alert("cr submitted before you");}else{
$("#cr_number"+cr).fadeOut(500);
        $("#cr"+cr).fadeOut(500);
        document.getElementById('crlabel'+cr).innerHTML = data;
        $("#crlabel"+cr).fadeIn(500);});            
    }
});

})(i);}

cr.php:

$cr_number=$_GET['cr_number'];
if ($row["cr_number"]!=""){
echo "cr";}
else{mysql_query("UPDATE cr SET cr_number=".$cr_number." WHERE id=".$id.";",$con);echo $cr_number;}

此代码工作正常,但我不喜欢额外的qoutation开始和结束数据显示 例如:&#34; 3443&#34; 我想要的:3443

1 个答案:

答案 0 :(得分:2)

您传递以下数据

{
            id: $("#recordid"+cr).val(),
            cr_number:'"' +$("#cr_number"+cr).val()+ '"'
        }

您可以在cr_number的开头和结尾添加引号。因此,$_GET['cr_number']会在值内和

中保留这些引号
echo $cr_number;

报价将在回复中。因此,响应包含引号,当您将其放入innerHTML时,它将包含它们。要修改此行为以不包含引号,请确保不要将它们首先添加到数据中:

{
            id: $("#recordid"+cr).val(),
            cr_number:$("#cr_number"+cr).val()
        }