0

助け/アドバイスをお願いします。

ftp ログインを行うために usr/pwd を収集するための jquery フォーム ダイアログがあります。

フォームが機能していて、ダイアログにフィールドの正しい値が表示されていますが、ダイアログが機能していません (私は 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 を呼び出すことができます。

#ftpusr/pwd を含むフォーム ID です。

jquery に同等の機能があるかどうかはわかりません。私はphpにもっと精通しています

ご協力いただき、誠にありがとうございます。

よろしく、

4

3 に答える 3

1

jQuery のダイアログまたは PHP の header() のどちらにもあまり詳しくありませんが、AJAX 要求に関してこれを修正するのに役立つ可能性のあるいくつかのことがわかります。

まず、成功関数の後にこれを追加します。

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

第二に、AJAX に影響を与えるべきではないが、少なくとも読みやすくする 1 つのことは、次のように、データ パラメーターを文字列ではなくマップとして定義することです。

data: ({
    name: name,
    pass: password
}),
于 2011-06-16T03:26:32.643 に答える
0

解決しました。最後に ajax を置き換えると、結果は次のようになります。

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

後で $("#myForm").submit() を試して、パスワードが公開されないようにします。しかし、これは私自身の要求に従って機能します。

于 2011-06-16T14:28:12.230 に答える
0

私はこれを解決しました:

ajax の代わりに、window.parent.location を次のように使用しました。

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

$("#myForm").submit()パスワードが公開されないように、後で試してみます。しかし、これは私自身の要求に従って機能します。

于 2011-06-18T14:01:17.947 に答える