无法将变量值发送到div

时间:2011-05-18 09:45:34

标签: jquery html

我有一些变量:

<input type="text" id="use" />
<div id="app"></div>

我想如果ajax成功,我想将$('#use').val()发送到<div>。 我尝试如下:

 success: function(){
                      $("#app").val($("#use").val());
                      }

然后:

$("#app").text($("#use").val());

$("#app").replacewith($("#use").val());

但是,我没有结果。你能告诉我怎么做吗?


$("#enter").click(function(){
     if($("#passlog").valid()){
     var params = $("#passlog").serialize();
     $.ajax({
              type:"post",
              url:"process3.php",
              data:params,
              cache:false,
              async:false,
              success: function(res){
                            switch(parseInt(res)){
                                   case "1":     //i get value 1 from server side if get 1 do the job below
                                           $("#app").text($("#use").val());
                                           break;
                                           }
                             },
              });
         }
    });

4 个答案:

答案 0 :(得分:2)

Divs没有值,而是设置了HTML:

$("#app").html($("#use").val());

或他们的文字:

$("#app").text($("#use").val());

虽然允许某人直接在您的网站的DOM中输入代码也是值得的,但这是一个非常糟糕的主意。


我注意到在你的AJAX成功调用后你有一个额外的逗号,尝试删除它,因为这可能会导致问题。

如果text()无效,您的AJAX可能会出现问题。你有错误处理程序吗?如果没有尝试添加如下所示,请告诉我们您的回复。

$.ajax({
    type:"post",
    url:"process3.php",
    data:params,
    cache:false,
    async:false,
    success: function(res){
        switch(parseInt(res)){
            case "1":     //i get value 1 from server side if get 1 do the job below
                $("#app").text($("#use").val());
                break;
        }
    },
    error:function (xhr, ajaxOptions, thrownError){
        alert(xhr.status);
        alert(thrownError);
    }
});

}

答案 1 :(得分:1)

您的

版本
$("#app").text($("#use").val());

应该有用。

您确定输入框中有值吗?

演示http://jsfiddle.net/gaby/4cjgA/

确保在调用ajax之前在#use框中输入内容


<强>更新

请将成功回调更改为此,以便我们查看交换机中的代码是否已执行。

          success: function(res){
                        switch(parseInt(res)){
                               case "1":     //i get value 1 from server side if get 1 do the job below
                                       alert('1 was returned !');
                                       $("#app").text($("#use").val());
                                       break;
                               default:
                                       alert('Ajax result was not caught in the switch\nReturned data:' + res );
                         }
                   }

答案 2 :(得分:0)

success: function(){
    $("#app").val($("#use").val());
 }

这是错误,因为您无法设置div的。请改用text()html()

success: function(){
    $("#app").text($("#use").val());
}

答案 3 :(得分:0)

一些想法---关闭你的标签

<input type="text" id="use" />
<div id="app" />

div也没有值属性,无论是设置属性还是你试图设置html然后使用html方法

$("#app").html($("#use).val());
or
$("#app").attr("value", $("#use").val());

另外,有些东西让我感到困扰的是“使用”的ID,但我认为这只是我。我总是关心任何看似关键字的东西。

相关问题