[Javascript] Dollar function for name=
John Warner
john at jwarner.com
Thu Nov 4 17:49:08 CDT 2010
Thanks
John Warner
> -----Original Message-----
> From: javascript-bounces at lists.evolt.org [mailto:javascript-
> bounces at lists.evolt.org] On Behalf Of Terry Riegel
> Sent: Thursday, November 04, 2010 4:35 PM
> To: JavaScript List
> Subject: Re: [Javascript] Dollar function for name=
>
> Hello All,
>
> Way back in June I asked for a method for getting an element with
> name="blah"
>
> I have finished my work with it and thought I would post here for any
that may
> find the need for similar functionality in the future.
>
> I created 2 functions for setting and getting the value of a form
element. I did
> this to normalize across all of the different types of form elements
like radio,
> checkbox, input, textarea, etc...
>
> Here are the functions...
>
> function setvalue(nm,v) {
> var i,n=document.getElementsByName(nm);
> for (i=0; i < n.length; i++) {
> if (n[i].type == 'hidden' || n[i].type == 'text' || n[i].type ==
'password' || n[i].type
> == 'textarea'){ n[i].value=v[0]; }
> if (n[i].type == 'checkbox' && n[i].nodeName == 'INPUT' ){
> if ( v.has(n[i].value) ) {
> n[i].checked=true;
> } else {
> n[i].checked=false;
> }
> }
> if (n[i].nodeName == 'SELECT'){
> var z, inputArray=document.getElementsByTagName('option');
> for (z=0; z < inputArray.length; z++) {
> if (v.has(inputArray[z].value) ){
> inputArray[z].selected=true;
> } else {
> inputArray[z].selected=false;
> }
> }
> }
> if (n[i].type == 'radio' && n[i].nodeName == 'INPUT'){
> if ( v.has(n[i].value) ) {
> n[i].checked=true;
> } else {
> n[i].checked=false;
> }
> }
> }
> }
>
>
> function getvalue(nm) {
> var i,n=document.getElementsByName(nm);
> var v=[];
> for (i=0; i < n.length; i++) {
> if (n[i].type == 'hidden' || n[i].type == 'text' || n[i].type ==
'password' || n[i].type
> == 'textarea'){ return n[i].value; }
> if (n[i].type == 'radio' && n[i].nodeName == 'INPUT' && n[i].checked){
return
> n[i].value; }
> if (n[i].type == 'checkbox' && n[i].nodeName == 'INPUT' &&
n[i].checked){
> v.push(n[i].value); }
> if (n[i].nodeName == 'SELECT'){
> var z, inputArray=n[i].getElementsByTagName('option');
> for (z=0; z < inputArray.length; z++) {
> if (inputArray[z].selected){
> v.push(inputArray[z].value);
> }
> }
> }
> }
> return v;
> }
>
>
>
>
>
>
>
> On Jun 7, 2010, at 9:32 PM, Philip Thompson wrote:
>
> > On Jun 7, 2010, at 7:38 PM, Terry Riegel wrote:
> >
> >> On Jun 7, 2010, at 8:23 PM, Philip Thompson <philthathril at gmail.com>
> wrote:
> >>
> >>> On Jun 7, 2010, at 12:32 AM, Paul Novitski wrote:
> >>>
> >>>> At 6/6/2010 09:46 PM, Philip Thompson wrote:
> >>>>> $$('input[name=pizza]').some(function (el) {
> >>>>> if (el.get('value') == 'sausage') {
> >>>>> el.set('checked', true);
> >>>>> return true;
> >>>>> }
> >>>>> return false;
> >>>>> });
> >>>>
> >>>>
> >>>> Since a radio button group can have only one option checked, we'd
want
> to clear the 'checked' attribute for every non-sausage field:
> >>>>
> >>>> if (el.get('value') == 'sausage')
> >>>> {
> >>>> el.set('checked', true);
> >>>> return true;
> >>>> }
> >>>> else
> >>>> {
> >>>> el.set('checked', false);
> >>>> return false;
> >>>> }
> >>>>
> >>>> or, more concisely although perhaps not as readably:
> >>>>
> >>>> var bState = (el.get('value') == 'sausage');
> >>>> el.set('checked', bState);
> >>>> return bState;
> >>>>
> >>>> Regards,
> >>>>
> >>>> Paul
> >>>
> >>> There shouldn't be a need to uncheck the other (potentially-)
selected
> radio buttons. Selecting one will, by default, unselect the others with
the same
> name just as if you had clicked on one.
> >>>
> >>> ~Philip
> >>
> >> Unless your a belt and suspenders type of person.
> >
> > Touché
> >
> >
> > _______________________________________________
> > Javascript mailing list
> > Javascript at lists.evolt.org
> > http://lists.evolt.org/mailman/listinfo/javascript
>
> _______________________________________________
> Javascript mailing list
> Javascript at lists.evolt.org
> http://lists.evolt.org/mailman/listinfo/javascript
More information about the Javascript
mailing list