Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.lang.javascript > #3197 > unrolled thread

newbie: problem z keyup() z jQuery

Started byjivanmukta@poczta.onet.pl
First post2015-11-21 07:42 -0800
Last post2015-11-25 21:10 +0100
Articles 20 on this page of 24 — 7 participants

Back to article view | Back to pl.comp.lang.javascript


Contents

  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 →


#3197 — newbie: problem z keyup() z jQuery

Fromjivanmukta@poczta.onet.pl
Date2015-11-21 07:42 -0800
Subjectnewbie: 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]


#3198

Fromzpksoft <zpksoft@op.pl>
Date2015-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]


#3199

Fromnkab@toya.net.pl
Date2015-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]


#3200

FromCezary Tomczyk <cezary.tomczyk@gmail.com>
Date2015-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]


#3201

Fromjivanmukta@poczta.onet.pl
Date2015-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]


#3202

FromCezary Tomczyk <cezary.tomczyk@gmail.com>
Date2015-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]


#3203

Fromjivanmukta@poczta.onet.pl
Date2015-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]


#3204

Fromjivanmukta@poczta.onet.pl
Date2015-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]


#3205

Fromjivanmukta@poczta.onet.pl
Date2015-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]


#3206

Fromjivanmukta@poczta.onet.pl
Date2015-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]


#3207

Fromjivanmukta@poczta.onet.pl
Date2015-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]


#3210

FromBorys Pogoreło <borys@pl.edu.leszno>
Date2015-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]


#3211

Fromjivanmukta@poczta.onet.pl
Date2015-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]


#3212

Fromjivanmukta@poczta.onet.pl
Date2015-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]


#3213

FromBorys Pogoreło <borys@pl.edu.leszno>
Date2015-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]


#3214

FromJivanmukta <jivanmukta@poczta.onet.pl>
Date2015-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]


#3215

FromBorys Pogoreło <borys@pl.edu.leszno>
Date2015-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]


#3216

Fromjivanmukta@poczta.onet.pl
Date2015-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]


#3217

Fromzpksoft <zpksoft@op.pl>
Date2015-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]


#3218

Fromjivanmukta@poczta.onet.pl
Date2015-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