我有一些变量:
<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;
}
},
});
}
});
答案 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,但我认为这只是我。我总是关心任何看似关键字的东西。