Question

Avec l'aide de cette communauté, je suis en mesure de passer un morceau statique de texte de javascript (clientside) à ASP 3.5 (côté serveur)! Ce morceau de code fonctionne à merveille:

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

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

    }


});

Ce que le ci-dessus, est quand un élément avec la classe de .drop est tombé, il attribuera la chaîne « test test Bourru » à mon champ caché sur ma page ASPX. Ensuite, il fait un à un bouton postback invisible je qui est dans un UpdatePanel. Les feux de l'événement de clic de bouton caché, qui jette un msgbox afficher le contenu de l'élément caché, qui sont invariablement « test test Bourru ».

Maintenant, voici où je vais avoir quelques problèmes. De tout ce que je laisse tomber dans la zone de saut, au lieu de définir la valeur du champ caché à une chaîne statique, je veux le mettre à l'ID de quoi que ce fût, je dirigé sur le dropzone. Voici ce que j'ai changé:

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

Maintenant, tout d'un coup, quand je laisse tomber quelque chose, il reste collé à la dropzone, et aucun événement se déclenche goutte. Est-ce que je casse quelque chose? Ou suis-je en train d'obtenir l'ID de l'élément tombé dans le mauvais sens?

Dans le cas où il importe, voici les trucs de la page ASPX pertinente:

<asp:Button ID="HiddenButton" runat="server" Text="Button" />         

Ce bouton est généralement caché via css, je viens de quitter ce unhidden pour l'instant à des fins de test.

EDIT !!!!:

J'ai essayé cela aussi, et il ne fonctionne pas (pour que je puisse exclure la chose « var »?)

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

La solution

Dans votre fonction de chute, vous ne fournissez pas de paramètres formels:

drop: function() { 

doit être

drop: function(ev, ui) {

Je suppose que cette expression dans votre rappel drop:

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

est un échec parce que l'objet ui ne peut pas être référencé dans le cadre de la fonction.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top