2011-05-18 71 views
1

我有一些變量:無法發送變量值到DIV

<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; 
              } 
          }, 
       }); 
     } 
    }); 

回答

2

Div的沒有價值,而不是你設置自己的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); 
    } 
}); 

}

+0

+您也可以使用「.append()」。 – Sylverdrag 2011-05-18 09:48:53

+0

@Rory,但是OP說他使用'$(「#app」)。text($(「#use」).val());'並且它不起作用.. – 2011-05-18 09:52:43

+0

好點Gaby,錯過那更新的答案。 – 2011-05-18 09:57:44

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

這是錯誤因爲你不能設置一個div的。使用text()html()代替:

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

你的

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

版本應該工作。

您確定輸入框中有值嗎?

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

確保在#use框中鍵入一些調用AJAX之前)


更新

請更改成功回調到這一點,所以我們可以看到交換機中的代碼是否被執行。

  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); 
         } 
        } 
+0

@gaby:我是阿賈克斯的新手。你能告訴我如何在腳本中使用該演示程序嗎? – nunu 2011-05-19 03:47:05

+0

@nunu,請嘗試更新的答案中的代碼以獲取更多信息。 – 2011-05-19 08:11:44

+0

@gaby:這是一個奇怪的問題。在我嘗試隱藏一個接一個的腳本之後,也嘗試從一開始我的ajax可以將變量值發送到div。 – nunu 2011-05-19 08:14:58

0

夫婦的想法---關閉標籤

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

也是div沒有價值的特性,無論是設置一個屬性,或者如果你想設置的HTML,然後使用HTML方法

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

此外,有東西是困擾我有一個「使用」的ID,但我認爲這只是我。我總是關心任何看起來像關鍵字的東西。

+0

我已經關閉了,但它似乎不工作 – nunu 2011-05-18 10:06:05