Jquery confirm probléma

Jquery confirm probléma
2012-01-18T21:34:05+01:00
2012-01-19T11:22:07+01:00
2022-11-24T10:15:37+01:00
hella
Sziasztok! Van egy html formom benne pár hidden mező! Csináltam hozzá egy scriptet hogy ha rákattintunk a gombra akkor felugrik egy ablak és lehet választani hogy tovább ugorjon egy jsp oldalra vagy mégsem! Ha arra megyek hogy tovább ugorjon akkor a hidden mezőbe levő értékeket nem küldi el!
html kód:

<div class="item"> <form class="actionBidding" action="Bidding.jsp" method="post"> <input type="text" name="productBid" id="productBid" size="16" maxLength="8" value="<%=bayPrize%>" /> FT <input type="hidden" name="pID" value="<%=productIdName%>" /> <input type="hidden" name="num" value="<%=number%>" /> <input type="hidden" name="selectSellerName" value="<%=selectSellerName%>" /> <input type="submit" name="submitBayOut" id="submitBayOut" value="Licitálás" /> </form> </div>
scriptem:

$(document).ready(function() { $('form.actionBidding').submit(function (){ var go = true; var $elem = $(this).closest('.item'); if(go==true){ go = false; $elem.confirm({'header' : 'Biztos benne???', 'content' : 'Lorem Ipsum... <br /> Lorem Ipsum... ?', 'buttons' : { 'yes' : { 'text' : 'Igen', 'class' : 'green', 'action': function() { window.location.href("Bidding.jsp"); } }, 'no' : { 'text' : 'Mégsem', 'class' : 'red' , 'action': function(){ window.location.href(document.URL); } } } }); } if (go) { return true; } else { return false; } }); });
Valakinek valami ötlete? Előre is köszi a válaszokat! Üdv: Hella
Mutasd a teljes hozzászólást!
Nem tudom mi lehet a hiba

Felraktam ide, ahogy én próbáltam hátha segít: katt

Oldalon használsz más jquery plugineket is? Némely pluginek nem futnak nagyobb verziójú jquery-vel (bár ekkor nyomot hagynak a hibakonzolon).

Van egy másik mód is amihez nem kell frissebb jquery - ilyenkor a formnak hívod meg közvetlenül a submit metódusát, és kihagyod a jquery-t ami így nem kapja el (fenti linken az alsó):

$('form.actionBidding').submit(function (e) { var form = $(this); var $elem = $(this).closest('.item'); $elem.confirm({ // ... 'action': function () { // Igen action form[0].submit(); } // ... }); return false; });

ui: én közvetlenül a form.confirm-ot hívtam és kihagytam a $elem-et - szerintem nem kell.

[szerk.] bővítettem egy harmadikkal is - annak az a lényege, hogy a jquery triggernek átható paraméterben adat.
Remélem az egyik megoldás működni fog nálad is
Mutasd a teljes hozzászólást!

  • window.location.href("Bidding.jsp");


    Ez szerintem semmit nem küld el, csak negnyitja az oldalt.

    A küldési funkciót kellene engedned (true) vagy tiltanod (false)
    Mutasd a teljes hozzászólást!
  • Szia! És azt pontosan hogy tudom megtenni? Előre is köszi a választ! Üdv: Hella
    Mutasd a teljes hozzászólást!
  • Talán:
    'action': function() { // window.location.href("Bidding.jsp"); return true }
    Mutasd a teljes hozzászólást!
  • Ez okés egyenlőre csak így meg nem ugrik át a Bidding.jsp-re! Valami ötlet?:S
    Mutasd a teljes hozzászólást!
  • Ha a jquery-vel küldöd el a formot, akkor az eseménykezelőnek átadott event paraméterben lesz egy isTrigger változó.

    Ezt fel lehet használni így:
    $('form.actionBidding').submit(function (e) { if(e.isTrigger) return true; var form = $(this); var $elem = $(this).closest('.item'); $elem.confirm({ // ... 'action': function () { // Igen action form.submit(); } // ... }); return false; });

    tehát ha a user megnyomja a gombot, akkor a form postolását megállítja a return false és feldobja a confirm-ot - ha igenre nyom, akkor ismét elpostolja a formot, de akkor már az e.isTrigger true lesz, így automatikusan elküldi a formot.
    Mutasd a teljes hozzászólást!
  • Szia! Megcsináltam úgy ahogy mondtad de most nem ugrik fel a confirm ablak így ugye nem tudom elküldeni a a jsp oldalra sem!
    A kód:

    $(document).ready(function() { $('form.actionBidding ').submit(function (e){ if(e.isTrigger) return true; var form = $(this); var $elem = $(this).closest('.item'); $elem.confirm({'header' : 'Biztos benne???', 'content' : 'Lorem Ipsum... <br /> Lorem Ipsum... ?', 'buttons' : { 'yes' : { 'text' : 'Igen', 'class' : 'green', 'action': function() { //window.location.href("Bidding.jsp"); form.submit(); } }, 'no' : { 'text' : 'Mégsem', 'class' : 'red' , 'action': function(){ //window.location.href(document.URL); } } } }); return false; }); });
    Mutasd a teljes hozzászólást!
  • Most néztem, hogy a scripthez adott 1.4.2/1.4.4-ben még nincs benne ez az isTrigger - frissebb verzióval működött nálam - rakj be egy frissebbet: jQuery

    A script jónak tűnik - nálam működik. Nézd meg a hibakonzolt, ha még a legfrissebb jquery-vel sem menne.
    Mutasd a teljes hozzászólást!
  • Én így használom <script src="http://code.jquery.com/jquery-latest.js"></script> elvileg ezzel a legújabb verziót használja!
    Így nem tudom hogy fogjak neki a debuggolásnak?:S
    Mutasd a teljes hozzászólást!
  • Firebuggal megnéztem és nem dob semmi hibát... Mostmár tényleg tanácstalan vagyok:S
    Mutasd a teljes hozzászólást!
  • Nem tudom mi lehet a hiba

    Felraktam ide, ahogy én próbáltam hátha segít: katt

    Oldalon használsz más jquery plugineket is? Némely pluginek nem futnak nagyobb verziójú jquery-vel (bár ekkor nyomot hagynak a hibakonzolon).

    Van egy másik mód is amihez nem kell frissebb jquery - ilyenkor a formnak hívod meg közvetlenül a submit metódusát, és kihagyod a jquery-t ami így nem kapja el (fenti linken az alsó):

    $('form.actionBidding').submit(function (e) { var form = $(this); var $elem = $(this).closest('.item'); $elem.confirm({ // ... 'action': function () { // Igen action form[0].submit(); } // ... }); return false; });

    ui: én közvetlenül a form.confirm-ot hívtam és kihagytam a $elem-et - szerintem nem kell.

    [szerk.] bővítettem egy harmadikkal is - annak az a lényege, hogy a jquery triggernek átható paraméterben adat.
    Remélem az egyik megoldás működni fog nálad is
    Mutasd a teljes hozzászólást!
  • Frostech0! Hálás köszönetem a megoldásokért segítségekért! Végre működik:) Természetesen jár a pont is érte:) Véfül a harmadik félét teszteltem be és egyből jó lett! Még egyszer hálás köszönet. Üdv: Hella
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd