anonīms Posted July 28, 2011 Report Posted July 28, 2011 <td> <a href="mistisks_a">[x]</a> <div class="order-form"> <form id="php_lv-2" class="webform-client-form"></div> </div> </td> funkcija notiek uz a click'a var webform_id = $(this).parents('td').children('.webform-client-form').attr('id'); gan var webform_id = $(this).parents('td').children('form').attr('id'); alert webform_id izmet undefined. Kur varētu būt problēma? Quote
0 Maris-S Posted July 28, 2011 Report Posted July 28, 2011 Īsti nesaprotu ko vēlies panākt? Tai formai nav gadījumā aizmirsts noslēdzošais tags? Labāk uzraksti ko vēlies panākt? Ja Tu gribi dabūt formas id pēc formas nosaukuma, tad to varētu darīt šādi: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Form id</title> </head> <body> <form id="form_id" name="form_name" action="" method="post"> </form> <a href="javascript: alert(document.form_name.getAttribute('id'));">Get id</a> </body> </html> Tikai kods bez jquery, iespējams getAttribute() ne visos pārlūkos strādās, bet ja aizvietosi atbilstoši visu ar jquery funkcijām, būtu jāstrādā. Quote
0 anonīms Posted July 28, 2011 Author Report Posted July 28, 2011 (edited) forma ģenerējas automātiski un vienīgais, kas viņai ir ir <form id="webform-client-form-19-3" class="webform-client-form" enctype="multipart/form-data" method="post" accept-charset="UTF-8"> un nē, tas html ir tikai piemērs no struktūras, ne copy/paste. + vēl tas, ka lapā ir vairākas formas ar šādu klasi un man vajag izvilkt tikai to, kura atrodas iekšs noteiktā id (kur tiek a click palaists) Edited July 28, 2011 by anonīms Quote
0 Maris-S Posted July 28, 2011 Report Posted July 28, 2011 Pag, sanāk Tu gribi dabūt tieši to formu, kas atrodas tajā pašā <td></td>, kurā atrodas <a></a> uz kuru tika nospiests, tā? Quote
0 anonīms Posted July 28, 2011 Author Report Posted July 28, 2011 (edited) $('.view-id-front_offers.view-display-id-block_1 .views-field-view-node a').click(function() { var webform = $(this).parents('td'); alert($(webform).children('.webform-client-form').length); }) izvada 0 ;/ heh find() :) Edited July 28, 2011 by anonīms Quote
0 indoom Posted July 28, 2011 Report Posted July 28, 2011 children skaitās tikai tiešie parenta childreni, tas ir vienu līmeni apakšā. Forma atrodas divā, tāpēc nav td childrens. Jā, jāizmanto .find(), un arī parents() vietā izmanto parent(), lai scripts nedarītu liekas darbības Quote
0 Maris-S Posted July 28, 2011 Report Posted July 28, 2011 (edited) Nu viens no variantiem, sataisīts uz ātro, varētu būt šāds. Pēti kodu un pārtaisi atbilstoši kā Tev vajag. Bez jquery, tāpēc varēsi arī saīsināt dažas lietas, izmantojot to. Protams kods der tikai tad, ja katrs td satur tikai vienu formu, ja ir vairākas, tad jāiet pa ciklu un jāmeklē ar atbilstošo klasi, nosaukumu vai id, atbilstoši specifikai. Tagad ir alert, bet ja to nomainīsi uz return, funkcija atgriezīs id. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Form in td</title> <script type="text/javascript"> function getElement(id) { if (document.getElementById) { return document.getElementById(id); } else if (document.all) { return document.all[id]; } else if (document.layers) { return document.layers[id]; } } function get_form_id(elem) { form_array = elem.parentNode.getElementsByTagName('form'); alert(form_array[0].getAttribute('id')); } </script> </head> <body> <table cellpadding="0" cellspacing="0"> <tr> <td id="td_id"> <form id="id_1" name="name_1" action="" method="post"> </form> <a href="" onclick="javascript: get_form_id(this); return false;">Click 1</a> </td> <td> <form id="id_2" name="name_2" action="" method="post"> </form> <a href="" onclick="javascript: get_form_id(this); return false;">Click 2</a> </td> <td> <form id="id_3" name="name_3" action="" method="post"> </form> <a href="" onclick="javascript: get_form_id(this); return false;">Click 2</a> </td> </tr> </table> </body> </html> Edited July 28, 2011 by Maris-S Quote
0 briedis Posted July 28, 2011 Report Posted July 28, 2011 (edited) Ieteiktu aplūkot $.closest(); Es darītu šādi: $("a").click(function(){ alert($(this).closest("td").find("form.webform-client-form").attr('id')); }); Edited July 28, 2011 by briedis Quote
Question
anonīms
funkcija notiek uz a click'a
gan
alert webform_id izmet undefined.
Kur varētu būt problēma?
8 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.