2009-05-29 11 views
3

このコミュニティの助けを借りて、私はjavascript(clientside)からASP 3.5(サーバー側)へテキストの静的な塊を渡すことができました!コードのこの作品は、美しく動作します:javascriptからASPへの可変値の受け渡し

以上何
$('.drop').droppable({ 
    tolerance: "touch", // Here should be a string 
    drop: function() { 

    $('[id$="myHidden"]').val('Testy test test'); 
    __doPostBack('<%= HiddenButton.UniqueID %>', ''); 
    alert($('[id$="myHidden"]').val()); 

    } 


}); 

は、.dropのクラスを持つ要素がドロップされたとき、それは私のaspxページに自分の隠されたフィールドに文字列「Testyテストテスト」を割り当てますです。それから私はそれが更新パネル内にある目に見えないボタンへのポストバックを行います。隠されたボタンのクリックイベントが発生し、隠し要素の内容を表示するmsgboxがスローされます。これは必ず "Testy test test"です。

ここで私はいくつかの問題を抱えています。私がdropzoneにドロップしたもののうち、隠しフィールドの値を静的な文字列に設定するのではなく、dropzoneにドロップされたもののIDに設定したいと思います。これは私が変更するものである:今

$('[id$="myHidden"]').val($(ui.draggable).attr("id")); 
    __doPostBack('<%= HiddenButton.UniqueID %>', ''); 
    alert($('[id$="myHidden"]').val()); 

突然、私は何かをドロップすると、それをドロップゾーンに接着されず、何もドロップイベントが発生したままになります。私は何かを壊しましたか?または、ドロップされた要素のIDを間違った方法で取得しようとしていますか?

<asp:Button ID="HiddenButton" runat="server" Text="Button" />   
ボタンは通常、CSSで非表示になっていることを

が、私はテスト目的のために今のところ、それが再表示左:それは重要な場合

は、ここでは関係aspxページのものです。

EDIT !!!!:(?私は 'VAR' の事を排除することができます)あなたのドロップ機能で

私もこれを試みたが、それは動作しません

var foo = $(ui.draggable).attr("id") 
    $('[id$="myHidden"]').val(foo); 
    __doPostBack('<%= HiddenButton.UniqueID %>', ''); 
    alert($('[id$="myHidden"]').val()); 

答えて

1

、あなたは、正式なパラメータを提供されていません。

drop: function() { 

があるべき

drop: function(ev, ui) { 

私はあなたのドロップコールバックでこの表現を推測している:UIオブジェクトは、関数のスコープ内で参照することができないので、

$(ui.draggable).attr("id") 

は失敗です。

+0

私はそこに(ev、ui)を入れてすぐに、すべてが壊れます。 ui.draggable.attrの事を私はいくつかの他のStackOスレッドをジャックしましたが、ドロップされた要素のIDを取得する正しい方法ではないかもしれません... –

+0

関数内からドロップされたUIオブジェクトをどのように参照しますか?機能(ev、ui)に変更すると、ドラッグが発生することを防ぎます。 –

+0

ああ、ちょっと分かりました。私はセミコロンを追加するのを忘れた、あなたの提案された修正はスポットです! –

関連する問題