2011-06-16 96 views
0

我請求一些幫助/建議。使用jquery對話框的ftp登錄

我有一個jQuery表單對話框來收集usr/pwd爲了做一個ftp登錄。

我有窗體工作,對話框顯示字段的正確值,但我有對話框不工作(我與jquery新手)沒有任何反應。我的猜測是.ajax,但我無法確定。

這裏是我的代碼:

$(function(){ 
    $('#ftp').dialog({ 
    autoOpen: false, 
    show: 'highlight', 
    hide: 'scale', 
    modal: true, 
    buttons: { 
     'send': function() { 
      var name = $('#usr').val(), password = $('#pwd').val(); 
      var myftp = $(this); 

      if (name != '' && password != '') { // alert('name=' + name + '&pass=' + password); 
       $.ajax({ 
        type: 'POST', 
        url: 'ftp.php', 
        data: 'name='+name+'&pass='+password, 
        success: function(msg){ 
        alert(msg); 
        $(myftp).dialog('close'); 
        } 
       }); 
      } 
     }, 
     'close': function() { $(this).dialog('close'); } 
    }, 
    resizable: false, 
    width: '500px' 
}); 

ftp.php是一個簡單的header ('location: ...)調用用適當的參數的FTP。

#ftp是包含usr/pwd的表單ID。

我不知道jQuery是否具有相同的功能。我更熟悉php

我真的很感謝你對此的幫助。

問候,

回答

0

我解決了。最後,我取代AJAX,其結果是:

if (name != '' && password != '') {     //alert('usr='+name+'&pwd='+password); 
    window.parent.location="http://domain.com/ftp.php?" + 'name='+name+'&password='+password; 
} 

後面我將用$(「#myForm會」)提交嘗試()來代替,以避免在打開密碼旅行。但是這根據我自己的要求運作。

1

我不是很熟悉,無論是jQuery的對話框或PHP的header(),但我看到一對夫婦的事情,你可以做,可以幫助你解決這個關於AJAX請求。

你成功的功能後,首先補充一點:

error: function(jqXHR, textStatus, errorThrown) { 
    alert(jqXHR + " " + textStatus + " " + errorThrown); 
} 

其次,一兩件事,不應該影響對AJAX,但至少會使其更具可讀性是改爲定義數據參數作爲一個地圖,而不是一個字符串,像這樣:

data: ({ 
    name: name, 
    pass: password 
}), 
+0

謝謝您的輸入。我會考慮。 – notuo 2011-06-16 14:26:21

0

我解決了這個:

相反AJAX的我只是用window.parent.location就象這樣:

if (name != '' && password != '') {    
    window.parent.location="http://domain.com/ftp.php?" + 'usr='+name+'&pwd='+password; 
} 

後面我將用$("#myForm").submit(),而不是儘量避免在公開密碼旅行。但是這根據我自己的要求運作。