Sziasztok!
Webform modulban szeretném megoldani azt, hogy bizonyos mezőket ne kelljen kétszer kitöltenie a megrendelőnek, pl. ha a számlázási és a postázási cím ugyan az. Ilyenkor egy checkbox kipipálásával átmásolódnak a már egyszer bevitt értékek.
Lehet, hogy van már erre kapcsolódó bejegyzés, de nem találtam, talán rosszul is kerestem.
Köszönöm előre is a segítséget!
Melyik modulhoz, modulokhoz kapcsolódik a téma?:
Drupal verzió:
Fórum:
jQuery
Ha a form elküldése előtt szeretnéd frissíteni a mező tartalmát, akkor valószínűleg jQueryvel lehetne ezt megvalósítani. Van link a szóban forgó oldalhoz?
Linket sajnos még nem tudok
Linket sajnos még nem tudok mutatni, mert az oldal még nem publikus, de a saját honlapunk (www.sikermarketing.hu) ugyan ezt a modult használja, és végül is ott sem lenne haszontalan ez az űrlapmező másolás bizonyos megrendelő formokon.
Milyen infóra lenne szükség?
Webform js. kiegészítéssel
Kutakodtam kicsit, és találtam egy javascript kódot, ami másolná az inputok értékét:
Mivel nem tudok onclick eseményt hozzárendelni a Webform select options checkbox-hoz, ezért úgy próbálkoztam, hogy "Markup" típust használtam, és oda illesztettem be a checkboxot (ill. button-t), elé pedig a scriptet. Naná hogy nem működött...:(
A gond az lehet, hogy a Webform "name" értékét (a kapcsos zárójelek miatt) nem tudja értelmezni a script, gondolom ez szintaktikai probléma.
Nem akarok idekeverni "nemdrupalos" témát, de lehet, hogy egy kis js. módosítással (amihez nem értek) egy hasznos funkcióval lehetne bővíteni egy Drupal modult.
Megköszönném, ha tudnátok segíteni!
jQuery-vel megoldható. kb.
jQuery-vel megoldható. kb. így szerintem:
A sminked javascriptjébe berakod a köv jQuery-t.
(function($){
$(document).ready(function(){
function nevmasolas() {
var text = $('#edit-submitted-nev').val();
$('#edit-submitted-nev2').val(text);
}
$('#edit-submitted-select-1').bind('change', nevmasolas);
})
})(jQuery);
Ez alapján a webformon tartalmaz két text mezőt ( nev és nev2) valamint 1 checkboxot. Nézzük hogy változik e a checkbox állapota ha igen akkor a nevmasolas funkció a nev értékét név2 be másolja. Persze itt még lehetne vizsgálni hogyha pl. a checkbox nem bekapcsolt akkor pl törölje a nev2-t, stb stb.
Sminkedhez javascriptet úgy tudsz hozzáadni, hogy a smink.info-ba beirod pl scripts[] = javascriptfile.js és létrehozol egy javascriptfile.js file ebbe megy a fenti kód. Természetesen a cache -t üríteni kell hogy a drupal észrevegye (admin/config/development/performance)
Üdv
De még mennyire megoldható!!!
Hálás köszönetem Makikaki!:) Jó, hogy leírtad a js hozzáadás menetét, bár ez nekem tiszta volt, de azért így kerek. Nehogy valaki ezen akadjon meg később.
Ha kiveszem a pipát, akkor nem törli a mezőt, de ez legyen a legkevesebb. Így legalább nem kezd el játszadozni a látogató "ki-be kapcsolósdit":)
Mivel nem egy mezőt kell másolni egy másikba, hanem többet, ezért ideírom, hogy néz ki a kód több mező esetén
Gondolom ez banális annak, aki tud jQuery-ül, nekem nem volt az:)
Köszi még egyszer!
oké
de én se tudok jQuery-ül épp most kóstolgatom. A fenti kódot hová illesztem be? Melyik fájl és mi marad ki, esetleg mik közé kerül?
Csak valami hasonót!
A fenti kódot így sehová ne illeszd, csak példaképpen írtam.
A te űrlapodnál megkeresed (Firebug-gal) a másolandó input(ok) azonosítóit, pl. van egy olyanod a postázási címnél, hogy "Ország", ami a kódban valahogy így néz ki:
Itt az azonosító, ami neked kell: edit-submitted-orszag
Ezután megkeresed azt az inputot, ahová szeretnéd másolni, azaz a számlázási címnél az "Ország" mezőt:
Itt az azonosító a "edit-submitted-orszag-szla"
Kell neked egy checkbox, ami mondjuk legyen "Másolás", és ennek az azonosítója: edit-submitted-masolas.
Most létrehozol egy javascript doksit, bemásolod ezt a kódot:
Persze a checkboxot a két ominózus mező közé kell tenni, és ertelem szerűen lehet több input mezőt is másolni.
A .js fájlt felmásolod a sminked könyvtárába, és a továbbiakat úgy csinálod ahogy azt fentebb Makikaki leírta.
javasolt átnézésre
Bár ez így most működik, és igazából nem jelent problémát, de abban a pillanatban, hogy lesz egy ajaxos űrlapelemed, máris számos problémával fogsz szembenézni.
Javaslom átolvasásra a következő dokumentációt:
http://drupal.org/node/171213#behaviors
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Erre nem is gondoltam. Köszi
Erre nem is gondoltam. Köszi PP!