anonīms Posted July 28, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
0 Maris-S Posted July 28, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
0 anonīms Posted July 28, 2011 Author Report Share 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 Link to comment Share on other sites More sharing options...
0 Maris-S Posted July 28, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
0 anonīms Posted July 28, 2011 Author Report Share Posted July 28, 2011 Tieši tā. Quote Link to comment Share on other sites More sharing options...
0 anonīms Posted July 28, 2011 Author Report Share 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 Link to comment Share on other sites More sharing options...
0 indoom Posted July 28, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
0 Maris-S Posted July 28, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
0 briedis Posted July 28, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
Question
anonīms
funkcija notiek uz a click'a
gan
alert webform_id izmet undefined.
Kur varētu būt problēma?
Link to comment
Share on other sites
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.