Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.lang.javascript > #3197 > unrolled thread
| Started by | jivanmukta@poczta.onet.pl |
|---|---|
| First post | 2015-11-21 07:42 -0800 |
| Last post | 2015-11-25 21:10 +0100 |
| Articles | 20 on this page of 24 — 7 participants |
Back to article view | Back to pl.comp.lang.javascript
newbie: problem z keyup() z jQuery jivanmukta@poczta.onet.pl - 2015-11-21 07:42 -0800
Re: newbie: problem z keyup() z jQuery zpksoft <zpksoft@op.pl> - 2015-11-22 05:03 -0800
Re: newbie: problem z keyup() z jQuery nkab@toya.net.pl - 2015-11-22 23:57 -0800
Re: newbie: problem z keyup() z jQuery Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2015-11-23 11:22 +0100
Re: newbie: problem z keyup() z jQuery jivanmukta@poczta.onet.pl - 2015-11-23 06:18 -0800
Re: newbie: problem z keyup() z jQuery Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2015-11-23 18:11 +0100
Re: newbie: problem z keyup() z jQuery jivanmukta@poczta.onet.pl - 2015-11-23 11:03 -0800
Re: newbie: problem z keyup() z jQuery jivanmukta@poczta.onet.pl - 2015-11-23 12:11 -0800
Re: newbie: problem z keyup() z jQuery jivanmukta@poczta.onet.pl - 2015-11-23 21:44 -0800
Re: newbie: problem z keyup() z jQuery jivanmukta@poczta.onet.pl - 2015-11-24 02:45 -0800
Re: newbie: problem z keyup() z jQuery jivanmukta@poczta.onet.pl - 2015-11-24 07:29 -0800
Re: newbie: problem z keyup() z jQuery Borys Pogoreło <borys@pl.edu.leszno> - 2015-11-26 00:10 +0100
Re: newbie: problem z keyup() z jQuery jivanmukta@poczta.onet.pl - 2015-11-26 00:07 -0800
Re: newbie: problem z keyup() z jQuery jivanmukta@poczta.onet.pl - 2015-11-26 02:41 -0800
Re: newbie: problem z keyup() z jQuery Borys Pogoreło <borys@pl.edu.leszno> - 2015-11-28 00:07 +0100
Re: newbie: problem z keyup() z jQuery Jivanmukta <jivanmukta@poczta.onet.pl> - 2015-11-28 16:59 +0100
Re: newbie: problem z keyup() z jQuery Borys Pogoreło <borys@pl.edu.leszno> - 2015-11-29 17:30 +0100
Re: newbie: problem z keyup() z jQuery jivanmukta@poczta.onet.pl - 2015-12-02 06:41 -0800
Re: newbie: problem z keyup() z jQuery zpksoft <zpksoft@op.pl> - 2015-12-03 05:05 -0800
Re: newbie: problem z keyup() z jQuery jivanmukta@poczta.onet.pl - 2015-12-03 09:12 -0800
Re: newbie: problem z keyup() z jQuery Borys Pogoreło <borys@pl.edu.leszno> - 2015-12-06 22:45 +0100
Re: newbie: problem z keyup() z jQuery Jivanmukta <jivanmukta@poczta.onet.pl> - 2015-12-12 13:10 +0100
Re: newbie: problem z keyup() z jQuery Kviat <kviat@NIE_DLA_SPAMUneostrada.pl> - 2015-11-25 17:10 +0100
Re: newbie: problem z keyup() z jQuery Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2015-11-25 21:10 +0100
Page 1 of 2 [1] 2 Next page →
| From | jivanmukta@poczta.onet.pl |
|---|---|
| Date | 2015-11-21 07:42 -0800 |
| Subject | newbie: problem z keyup() z jQuery |
| Message-ID | <d8bb1c55-aa00-4bbb-bb65-862e4f875852@googlegroups.com> |
Uczę się JavaScriptu. Na razie jestem kiepski. Mam na formularzu (nazwanym formName) pole textarea (nazwane 'Opis:') i chciałbym żeby użytkownik miał informację ile znaków może jeszcze wprowadzić. Robię to tak (używam jQuery na stronie bo jest mi potrzebne do innych rzeczy):
$('form#' + formName + ' textarea#message').keyup(function () { return onKeyUpAtTextArea('contact', 'message'); });
...
function maxLengthOfArea(textarea, counter) {
if (textarea.getAttribute('maxlength') >= textarea.value.length) {
counter.innerHTML = textarea.getAttribute('maxlength') - textarea.value.length;
return true;
}
return false;
}
...
function onKeyUpAtTextArea(controller, elemId) {
'use strict';
var formName = getCurrentFormName(controller);
var currentForm = getCurrentForm(controller);
var textarea = getFormElement(currentForm, elemId);
var counter = $('form#' + formName + ' span#' + elemId + '_left')[0];
return maxLengthOfArea(textarea, counter);
}
Problem w tym, że funkcja onKeyUpAtTextArea nie jest wołana przy naciskaniu klawisza w polu textarea. Debuggując JavaScript zauważyłem, że przy wykonywaniu kodu jQuery:
// Handle event binding
jQuery.fn[ name ] = function( data, fn ) {
return arguments.length > 0 ?
this.on( name, null, data, fn ) :
this.trigger( name );
};
mam:
fn == /\r?\n/g
data == "ReferenceError: data is not defined"
name == ""
jQuery.fn.name == undefined
Czy to może być przyczyną tego że onKeyUpAtTextArea nie jest wywoływana?
Rozwiązanie mi działało, ale po przerobieniu strony na responsywną przestało działać.
Jak rozwiązać problem?
[toc] | [next] | [standalone]
| From | zpksoft <zpksoft@op.pl> |
|---|---|
| Date | 2015-11-22 05:03 -0800 |
| Message-ID | <708d7a2a-8fe4-4ecc-bf80-f9985d2c04a3@googlegroups.com> |
| In reply to | #3197 |
W dniu sobota, 21 listopada 2015 16:42:53 UTC+1 użytkownik jivan...@poczta.onet.pl napisał:
> Uczę się JavaScriptu. Na razie jestem kiepski. Mam na formularzu (nazwanym formName) pole textarea (nazwane 'Opis:') i chciałbym żeby użytkownik miał informację ile znaków może jeszcze wprowadzić. Robię to tak (używam jQuery na stronie bo jest mi potrzebne do innych rzeczy):
>
> $('form#' + formName + ' textarea#message').keyup(function () { return onKeyUpAtTextArea('contact', 'message'); });
> ...
> function maxLengthOfArea(textarea, counter) {
> if (textarea.getAttribute('maxlength') >= textarea.value.length) {
> counter.innerHTML = textarea.getAttribute('maxlength') - textarea.value.length;
> return true;
> }
> return false;
> }
> ...
> function onKeyUpAtTextArea(controller, elemId) {
> 'use strict';
> var formName = getCurrentFormName(controller);
> var currentForm = getCurrentForm(controller);
> var textarea = getFormElement(currentForm, elemId);
> var counter = $('form#' + formName + ' span#' + elemId + '_left')[0];
> return maxLengthOfArea(textarea, counter);
> }
>
> Problem w tym, że funkcja onKeyUpAtTextArea nie jest wołana przy naciskaniu klawisza w polu textarea. Debuggując JavaScript zauważyłem, że przy wykonywaniu kodu jQuery:
>
> // Handle event binding
> jQuery.fn[ name ] = function( data, fn ) {
> return arguments.length > 0 ?
> this.on( name, null, data, fn ) :
> this.trigger( name );
> };
>
> mam:
>
> fn == /\r?\n/g
> data == "ReferenceError: data is not defined"
> name == ""
> jQuery.fn.name == undefined
>
> Czy to może być przyczyną tego że onKeyUpAtTextArea nie jest wywoływana?
> Rozwiązanie mi działało, ale po przerobieniu strony na responsywną przestało działać.
> Jak rozwiązać problem?
Ala nakomplikowane, aż mi się nie chce czytać :)
Raczej nie onkeyUp tylko onChange kontrolki. I po co to całe JQuery?
Paweł
[toc] | [prev] | [next] | [standalone]
| From | nkab@toya.net.pl |
|---|---|
| Date | 2015-11-22 23:57 -0800 |
| Message-ID | <2dac095d-f2ad-412a-b1a4-962fda697788@googlegroups.com> |
| In reply to | #3198 |
W dniu niedziela, 22 listopada 2015 14:03:09 UTC+1 użytkownik zpksoft napisał:
> W dniu sobota, 21 listopada 2015 16:42:53 UTC+1 użytkownik jivan...@poczta.onet.pl napisał:
> > Uczę się JavaScriptu. Na razie jestem kiepski. Mam na formularzu (nazwanym formName) pole textarea (nazwane 'Opis:') i chciałbym żeby użytkownik miał informację ile znaków może jeszcze wprowadzić. Robię to tak (używam jQuery na stronie bo jest mi potrzebne do innych rzeczy):
> >
> > $('form#' + formName + ' textarea#message').keyup(function () { return onKeyUpAtTextArea('contact', 'message'); });
> > ...
> > function maxLengthOfArea(textarea, counter) {
> > if (textarea.getAttribute('maxlength') >= textarea.value.length) {
> > counter.innerHTML = textarea.getAttribute('maxlength') - textarea.value.length;
> > return true;
> > }
> > return false;
> > }
> > ...
> > function onKeyUpAtTextArea(controller, elemId) {
> > 'use strict';
> > var formName = getCurrentFormName(controller);
> > var currentForm = getCurrentForm(controller);
> > var textarea = getFormElement(currentForm, elemId);
> > var counter = $('form#' + formName + ' span#' + elemId + '_left')[0];
> > return maxLengthOfArea(textarea, counter);
> > }
> >
> > Problem w tym, że funkcja onKeyUpAtTextArea nie jest wołana przy naciskaniu klawisza w polu textarea. Debuggując JavaScript zauważyłem, że przy wykonywaniu kodu jQuery:
> >
> > // Handle event binding
> > jQuery.fn[ name ] = function( data, fn ) {
> > return arguments.length > 0 ?
> > this.on( name, null, data, fn ) :
> > this.trigger( name );
> > };
> >
> > mam:
> >
> > fn == /\r?\n/g
> > data == "ReferenceError: data is not defined"
> > name == ""
> > jQuery.fn.name == undefined
> >
> > Czy to może być przyczyną tego że onKeyUpAtTextArea nie jest wywoływana?
> > Rozwiązanie mi działało, ale po przerobieniu strony na responsywną przestało działać.
> > Jak rozwiązać problem?
>
> Ala nakomplikowane, aż mi się nie chce czytać :)
> Raczej nie onkeyUp tylko onChange kontrolki. I po co to całe JQuery?
>
> Paweł
No właśnie. Przecież nawet jak pytający korzysta z JQuery
to nic nie stoi na przeszkodzie aby używać czystego JS.
Andrzej.
[toc] | [prev] | [next] | [standalone]
| From | Cezary Tomczyk <cezary.tomczyk@gmail.com> |
|---|---|
| Date | 2015-11-23 11:22 +0100 |
| Message-ID | <83661$5652e8f8$6def49cc$2822@nntpswitch.blueworldhosting.com> |
| In reply to | #3197 |
W dniu 11/21/2015 o 4:42 PM, jivanmukta@poczta.onet.pl pisze:
> Uczę się JavaScriptu. Na razie jestem kiepski. Mam na formularzu
> (nazwanym formName) pole textarea (nazwane 'Opis:') i chciałbym żeby
> użytkownik miał informację ile znaków może jeszcze wprowadzić. Robię
> to tak (używam jQuery na stronie bo jest mi potrzebne do innych
> rzeczy):
>
> $('form#' + formName + ' textarea#message').keyup(function () {
> return onKeyUpAtTextArea('contact', 'message'); }); ... function
> maxLengthOfArea(textarea, counter) { if
> (textarea.getAttribute('maxlength') >= textarea.value.length) {
> counter.innerHTML = textarea.getAttribute('maxlength') -
> textarea.value.length; return true; } return false; } ... function
> onKeyUpAtTextArea(controller, elemId) { 'use strict'; var formName =
> getCurrentFormName(controller); var currentForm =
> getCurrentForm(controller); var textarea =
> getFormElement(currentForm, elemId); var counter = $('form#' +
> formName + ' span#' + elemId + '_left')[0]; return
> maxLengthOfArea(textarea, counter); }
>
> Problem w tym, że funkcja onKeyUpAtTextArea nie jest wołana przy
> naciskaniu klawisza w polu textarea. Debuggując JavaScript
> zauważyłem, że przy wykonywaniu kodu jQuery:
>
> // Handle event binding jQuery.fn[ name ] = function( data, fn ) {
> return arguments.length > 0 ? this.on( name, null, data, fn ) :
> this.trigger( name ); };
>
> mam:
>
> fn == /\r?\n/g data == "ReferenceError: data is not defined" name ==
> "" jQuery.fn.name == undefined
>
> Czy to może być przyczyną tego że onKeyUpAtTextArea nie jest
> wywoływana? Rozwiązanie mi działało, ale po przerobieniu strony na
> responsywną przestało działać. Jak rozwiązać problem?
Najlepiej by było, gdybyś wyizolował ten przykład na
http://jsfiddle.net/ i sprawdził czy tam zadziała. To pierwszy krok.
A co do mieszania czystego JavaScriptu z jQuery - da się, ale czasem dla
zachowania spójności kodu brnie się tylko w jQuery :-(
--
Cezary Tomczyk
http://www.ctomczyk.pl/
[toc] | [prev] | [next] | [standalone]
| From | jivanmukta@poczta.onet.pl |
|---|---|
| Date | 2015-11-23 06:18 -0800 |
| Message-ID | <896e78d8-8f87-4b30-a111-3bc8b4281839@googlegroups.com> |
| In reply to | #3200 |
W dniu 23.11.2015 o 11:22, Cezary Tomczyk pisze: > Najlepiej by było, gdybyś wyizolował ten przykład na > http://jsfiddle.net/ i sprawdził czy tam zadziała. To pierwszy krok. http://jsfiddle.net/z3qrnx8t/ Nie woła się onChangeAtTextArea.
[toc] | [prev] | [next] | [standalone]
| From | Cezary Tomczyk <cezary.tomczyk@gmail.com> |
|---|---|
| Date | 2015-11-23 18:11 +0100 |
| Message-ID | <dcb43$565348af$6def49cc$3178@nntpswitch.blueworldhosting.com> |
| In reply to | #3201 |
W dniu 11/23/2015 o 3:18 PM, jivanmukta@poczta.onet.pl pisze: > W dniu 23.11.2015 o 11:22, Cezary Tomczyk pisze: >> Najlepiej by było, gdybyś wyizolował ten przykład na >> http://jsfiddle.net/ i sprawdził czy tam zadziała. To pierwszy krok. > > http://jsfiddle.net/z3qrnx8t/ > > Nie woła się onChangeAtTextArea. http://jsfiddle.net/z3qrnx8t/2/ ReferenceError: getCurrentStyle is not defined -- Cezary Tomczyk http://www.ctomczyk.pl/
[toc] | [prev] | [next] | [standalone]
| From | jivanmukta@poczta.onet.pl |
|---|---|
| Date | 2015-11-23 11:03 -0800 |
| Message-ID | <557dc167-faeb-4079-9b4b-a0596a5776d2@googlegroups.com> |
| In reply to | #3202 |
W dniu poniedziałek, 23 listopada 2015 18:11:12 UTC+1 użytkownik Cezary Tomczyk napisał:
> W dniu 11/23/2015 o 3:18 PM, jivanmukta@poczta.onet.pl pisze:
> > W dniu 23.11.2015 o 11:22, Cezary Tomczyk pisze:
> >> Najlepiej by było, gdybyś wyizolował ten przykład na
> >> http://jsfiddle.net/ i sprawdził czy tam zadziała. To pierwszy krok.
> >
> > http://jsfiddle.net/z3qrnx8t/
> >
> > Nie woła się onChangeAtTextArea.
>
>
> http://jsfiddle.net/z3qrnx8t/2/
> ReferenceError: getCurrentStyle is not defined
>
> --
> Cezary Tomczyk
> http://www.ctomczyk.pl/
W dniu 23.11.2015 o 18:11, Cezary Tomczyk pisze:
> http://jsfiddle.net/z3qrnx8t/2/
> ReferenceError: getCurrentStyle is not defined
http://jsfiddle.net/z3qrnx8t/3/
Nie wiem o co chodzi, ale na localhoście onChangeAtTextArea czasem zatrzymuje się na breakpoincie a czasem nie.
Problem jest w tym, że getFormElement(currentForm, 'message_left') == null, bo nie ma tego w form.elements. Nie wiem jak dobrać sie do <span id="message_left">. Nie mogę napisać document.getElementById('message_left') bo mam na stronie dwa razy message_left (mam dwa formularze: contact360 i contact768):
<div id="width360">
<?php
echo form_open_multipart('contact/send', array('id' => 'contact360', 'name' => 'contact360'));
?>
...
<span id='message_left>
...
</div>
<div id="width768">
<?php
echo form_open_multipart('contact/send', array('id' => 'contact768', 'name' => 'contact768'));
?>
...
<span id='message_left>
...
</div>
[toc] | [prev] | [next] | [standalone]
| From | jivanmukta@poczta.onet.pl |
|---|---|
| Date | 2015-11-23 12:11 -0800 |
| Message-ID | <9f68c463-1274-4cef-8767-0209cee70d05@googlegroups.com> |
| In reply to | #3203 |
Wróciłem dop kodu jQuery i mi teraz działa.
var counter = $('form#' + formName + ' span#' + elemId + '_left')[0];.
W tym wypadku użycie jQuery wydaje mi się uzasadnione.
[toc] | [prev] | [next] | [standalone]
| From | jivanmukta@poczta.onet.pl |
|---|---|
| Date | 2015-11-23 21:44 -0800 |
| Message-ID | <76894416-3fa0-44a3-9964-cbe04f759e0a@googlegroups.com> |
| In reply to | #3204 |
Mój Firefox 42.0 po Ubuntu 14.04 LTS zachowuje się bardzo dziwnie: 1. otwieram FF i stronę i mi NIE działa onKeyUpAtTextArea 2. wchodzę do debugera JavaScript i ustawiam pułapkę w onKeyUpAtTextArea 3. pod debugerem onKeyUpAtTextArea działa poprawnie 4. zamykam debuger i wracam do stronki 5. wszystko działa poprawnie Inaczej mówiąc problem występuje ale tylko do czasu aż uruchomię debugger. Nie umiem tego wytłumaczyć.
[toc] | [prev] | [next] | [standalone]
| From | jivanmukta@poczta.onet.pl |
|---|---|
| Date | 2015-11-24 02:45 -0800 |
| Message-ID | <9d400653-3feb-4292-b02e-889ae4de43d0@googlegroups.com> |
| In reply to | #3205 |
http://jsfiddle.net/z3qrnx8t/4/
[toc] | [prev] | [next] | [standalone]
| From | jivanmukta@poczta.onet.pl |
|---|---|
| Date | 2015-11-24 07:29 -0800 |
| Message-ID | <03bfb47b-1223-458b-8ccc-b2a7de94a643@googlegroups.com> |
| In reply to | #3206 |
Nie wiem czy to może mieć znaczenie dla opisanego problemu, jakiś związek, ale mam jeszcze taki problem: przestał mi prawidłowo działać kalendarz jQuery, tzn. nie kopiuje się do inputa data wybrana z kontrolki kalendarza (zamiast tego dopisuje się sam # do URL).
Dodam, że używam następujących bibliotek jQuery:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.css">
<script src="http://code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js" type="text/javascript"></script>
<script src="<?php rs('jQuery.MultiFile.min.js'); ?>" type="text/javascript"></script>
<script src="<?php rs('jquery.ui.datepicker-pl.js'); ?>" type="text/javascript"></script>
Kalendarz mi działał, ale po przerobieniu strony na responsywną pojawił się ten problem. Zrobienie responsywności polegało na wykonaniu dwóch wersji dużego formularza i ustawianiu właściwości CSS display na block/none dla formularzy w zależności od szerokości ekranu - przy pomocy media query.
[toc] | [prev] | [next] | [standalone]
| From | Borys Pogoreło <borys@pl.edu.leszno> |
|---|---|
| Date | 2015-11-26 00:10 +0100 |
| Message-ID | <w7p7wcxnca3n.15f9jpairlt9l.dlg@40tude.net> |
| In reply to | #3207 |
Dnia Tue, 24 Nov 2015 07:29:53 -0800 (PST), jivanmukta@poczta.onet.pl napisał(a): > Kalendarz mi działał, ale po przerobieniu strony na responsywną pojawił > się ten problem. Zrobienie responsywności polegało na wykonaniu dwóch > wersji dużego formularza i ustawianiu właściwości CSS display na > block/none dla formularzy w zależności od szerokości ekranu - przy > pomocy media query. Ty to dopiero sobie potrafisz pierwszorzednie życie komplikować. I jak obsługujesz takie dwa formularze? Przewidziałeś to, że ktoś może zechcieć tablet obrócić, przełączy breakpoint i mu zawartość formularza wyparuje? -- Borys Pogoreło borys(#)leszno,edu,pl
[toc] | [prev] | [next] | [standalone]
| From | jivanmukta@poczta.onet.pl |
|---|---|
| Date | 2015-11-26 00:07 -0800 |
| Message-ID | <e8d122de-f26f-49ec-8126-ebea7fd5fd02@googlegroups.com> |
| In reply to | #3210 |
W dniu czwartek, 26 listopada 2015 00:10:10 UTC+1 użytkownik Borys Pogoreło napisał: > Ty to dopiero sobie potrafisz pierwszorzednie życie komplikować. I jak > obsługujesz takie dwa formularze? Przewidziałeś to, że ktoś może zechcieć > tablet obrócić, przełączy breakpoint i mu zawartość formularza wyparuje? W dniu 26.11.2015 o 00:10, Borys Pogoreło pisze: > Ty to dopiero sobie potrafisz pierwszorzednie życie komplikować. I jak > obsługujesz takie dwa formularze? Przewidziałeś to, że ktoś może zechcieć > tablet obrócić, przełączy breakpoint i mu zawartość formularza wyparuje? W takim razie zrobię jeden formularz a jego zawartość będę wypisywał przy pomocy document.write(). W przypadku szerokiego ekranu będę wypisywał <tr><td>...</td><td>...</td><td>...</td></tr> a w przypadku wąskiego ...<br>...<br>...<br>. Tylko nie wiem czy da się tak zrobić, żeby formularz był wypisywany po zmianie szerokości ekranu. Co o tym sądzisz?
[toc] | [prev] | [next] | [standalone]
| From | jivanmukta@poczta.onet.pl |
|---|---|
| Date | 2015-11-26 02:41 -0800 |
| Message-ID | <55c6b03c-e4e5-4365-b6cf-194efa5663a5@googlegroups.com> |
| In reply to | #3211 |
Nie, tak się chyba nie da. A jakby zamiast <tr><td>...</td><td>...</td><td>...</td></tr> robić <div>...</div><div>...</div><div>...</div> i ustawiać float w media query?
[toc] | [prev] | [next] | [standalone]
| From | Borys Pogoreło <borys@pl.edu.leszno> |
|---|---|
| Date | 2015-11-28 00:07 +0100 |
| Message-ID | <yrusih068t0b.y6yjvtvl8wj0.dlg@40tude.net> |
| In reply to | #3211 |
Dnia Thu, 26 Nov 2015 00:07:14 -0800 (PST), jivanmukta@poczta.onet.pl napisał(a): >> Ty to dopiero sobie potrafisz pierwszorzednie życie komplikować. I jak >> obsługujesz takie dwa formularze? Przewidziałeś to, że ktoś może zechcieć >> tablet obrócić, przełączy breakpoint i mu zawartość formularza wyparuje? > > W takim razie zrobię jeden formularz a jego zawartość będę wypisywał przy > pomocy document.write(). W przypadku szerokiego ekranu będę wypisywał > <tr><td>...</td><td>...</td><td>...</td></tr> a w przypadku wąskiego > ...<br>...<br>...<br>. Dalej niepotrzebnie kombinujesz. Jeśli już musisz mieć układ w tabeli, to możesz dla małych ekranów ostylować elementy tabeli tak, żeby wyglądały i zachowywały się jak zwykłe blokowe. A najprościej i najsensowniej jest po prostu zaprojektować formularz z dużymi i wygodnymi polami, gdzie etykiety są nad nimi. To jest zarówno przyjazne w obsłudze, jak i w projektowaniu, generuje też minimalną liczbę znaczników w kodzie. -- Borys Pogoreło borys(#)leszno,edu,pl
[toc] | [prev] | [next] | [standalone]
| From | Jivanmukta <jivanmukta@poczta.onet.pl> |
|---|---|
| Date | 2015-11-28 16:59 +0100 |
| Message-ID | <n3cj0k$81a$1@speranza.aioe.org> |
| In reply to | #3213 |
Zrobię tak: http://jsfiddle.net/rto26uvz/1/ Jest dobrze i dla wąskiego i dla szerokiego ekranu.
[toc] | [prev] | [next] | [standalone]
| From | Borys Pogoreło <borys@pl.edu.leszno> |
|---|---|
| Date | 2015-11-29 17:30 +0100 |
| Message-ID | <1w4bibnuwtj22$.1c32m3jeca1jc$.dlg@40tude.net> |
| In reply to | #3214 |
Dnia Sat, 28 Nov 2015 16:59:18 +0100, Jivanmukta napisał(a): > Zrobię tak: > > http://jsfiddle.net/rto26uvz/1/ > > Jest dobrze i dla wąskiego i dla szerokiego ekranu. Wygląda OK, ale można jeszcze prościej i trochę semantyczniej: <label>Etykieta: <input type="text" name="name"> <span class="error">Komunikat błędu</span> </label> -- Borys Pogoreło borys(#)leszno,edu,pl
[toc] | [prev] | [next] | [standalone]
| From | jivanmukta@poczta.onet.pl |
|---|---|
| Date | 2015-12-02 06:41 -0800 |
| Message-ID | <d46dc5f2-56c9-4956-8922-d1add9a1a50a@googlegroups.com> |
| In reply to | #3215 |
Mam jeszcze problemik z jQuery. Potrzebuję na stronce włączać/wyłączać wiersze formularza, w zależności od wyboru na liście <select>. Nie działa mi funkcja setBRTags() która włącza/wyłącza tagi <br clear="both"> (żeby nie tworzyła się pusta przestrzeń na formularzu). Oto ta funkcja:
function setBRTags() {
setCurrentStyle($('div[class="tip" style|="display: block"] + br[clear="both"]')[0], 'display', "");
setCurrentStyle($('div[class="tip" style|="display: none"] + br[clear="both"]')[0], 'display', "none");
}
Problem w tym, że oba wywołania $(...)[0] zwracają undefined, nie wiem co jest źle (jestem kiepski w jQuery). Wiersz formularza zawiera zawsze <div class="tip">...</div><br clear="both">. Chcę wyłączyć wszystkie br dla odpowiednich wierszy.
Wszystko jest na http://jsfiddle.net/rto26uvz/3/ ale nie umiem włączyć jQuery na jsfiddle. Jak by ktoś mi mógł pomóc...
[toc] | [prev] | [next] | [standalone]
| From | zpksoft <zpksoft@op.pl> |
|---|---|
| Date | 2015-12-03 05:05 -0800 |
| Message-ID | <faa3fede-1c96-491d-8292-09f953c4c238@googlegroups.com> |
| In reply to | #3216 |
W dniu środa, 2 grudnia 2015 15:41:44 UTC+1 użytkownik jivan...@poczta.onet.pl napisał:
> Mam jeszcze problemik z jQuery. Potrzebuję na stronce włączać/wyłączać wiersze formularza, w zależności od wyboru na liście <select>. Nie działa mi funkcja setBRTags() która włącza/wyłącza tagi <br clear="both"> (żeby nie tworzyła się pusta przestrzeń na formularzu). Oto ta funkcja:
>
> function setBRTags() {
> setCurrentStyle($('div[class="tip" style|="display: block"] + br[clear="both"]')[0], 'display', "");
> setCurrentStyle($('div[class="tip" style|="display: none"] + br[clear="both"]')[0], 'display', "none");
> }
>
> Problem w tym, że oba wywołania $(...)[0] zwracają undefined, nie wiem co jest źle (jestem kiepski w jQuery). Wiersz formularza zawiera zawsze <div class="tip">...</div><br clear="both">. Chcę wyłączyć wszystkie br dla odpowiednich wierszy.
> Wszystko jest na http://jsfiddle.net/rto26uvz/3/ ale nie umiem włączyć jQuery na jsfiddle. Jak by ktoś mi mógł pomóc...
Nie pomogę Ci ale sory, nie mogę się powstrzymać.
Uczepiłeś się tej biblioteki jak ...
Dlaczego po prostu nie napiszesz:
document.getElementById('xx').style.display='none';
Generalnie w programowaniu wszelkie biblioteki są po to, żeby duże standardowe kody hermetyzować w postaci zwięzłych funkcji.
Jeżeli kod standardowy jest bardziej zwięzły niż ten z biblioteki to coś jest nie tak z myśleniem :)
Paweł
Paweł
[toc] | [prev] | [next] | [standalone]
| From | jivanmukta@poczta.onet.pl |
|---|---|
| Date | 2015-12-03 09:12 -0800 |
| Message-ID | <7cda3b42-8964-40d9-89f2-3a686bed97f3@googlegroups.com> |
| In reply to | #3217 |
> document.getElementById('xx').style.display='none';
Masz rację. Tak zrobiłem. Działa. Problem zamknięty. Dzięki za pomoc.
[toc] | [prev] | [next] | [standalone]
Page 1 of 2 [1] 2 Next page →
Back to top | Article view | pl.comp.lang.javascript
csiph-web