php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.03.2010, 09:25  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard Radio Fields mittels Javascript selectieren und einem Datenstring anhängen

Hallo Community,

heute hab ich mal ein kleines aber feines Javascript Problem.

Und zwar hab ich eine Funktion geschrieben, die mir die Inhalte aller input, select und textarea Felder auswerten soll und mir die Namen sowie deren Values in einem String zusammenfassen soll, welche ich dann via AJAX an den Server übertragen kann.

die Funktion:
Code:
        /**
         * Function to get the FormData
         * 
         * @param   string dataString: The Step individual params
         * @return  string dataString: The complete param string to submit via ajax
         */
        function getFormData( dataString )
        {          
          // First get all input datas
          var input = $( 'input' );
          
          for ( var i in input )
          {
            alert( 'Type: ' + input[i].type + '\n\nName: ' + input[i].name );
            if ( typeof( input[i] ) == 'undefined' )
            {
              continue;
            }
            // Check for not needed vars, we do not submit them
            if ( input[i].name =='send' || input[i].name == 'nextStep' || input[i].name == 'action' || input[i].name == 'cancel' || input[i].name == 'currentStep' || input[i].name == 'step' || input[i].name == 'LoadlastStep' || input[i].name == 'LoadnextStep' )
            {
              continue;
            }

            // radio buttons
            if ( ( input[i].type == 'radio' ) || ( input[i].type == 'checkbox' ) )
            {
              // is it checked?
              if ( input[i].checked )
              {
                var _return = performFormData( input[i].name, input[i].value );
                if ( _return != '' )
                {
                  dataString += ( ( dataString ) ? '&' : '' ) + _return;
                }
              }
            }
            else
            {
              if ( input[i].type != 'submit' )
              {
                var _return = performFormData( input[i].name, input[i].value );
                if ( _return != '' )
                {
                  dataString += ( ( dataString ) ? '&' : '' ) + _return;
                }
              }
            }
          }
          
          // secound: select fields
          input = $( 'select' );
          for( var i in input )
          {
            if ( typeof( input[i] ) == 'undefined' )
            {
              continue;
            }
             var _return = performFormData( input[i].name, input[i].value );
             if ( _return != '' )
             {
               dataString += ( ( dataString ) ? '&' : '' ) + _return;
             }
          }
          
          // third and last: textarea fields
          input = $( 'textarea' );
          for( var i in input )
          {
            if ( typeof( input[i] ) == 'undefined' )
            {
              continue;
            }
             var _return = performFormData( input[i].name, input[i].value );
             if ( _return != '' )
             {
               dataString += ( ( dataString ) ? '&' : '' ) + _return;
             }
          }
          // now return data
          return dataString;
        }
Das funktioniert im Firefox auch sehr zufriedenstellend. Im IE jedoch nur bedingt, denn da werden diese Radio Fields einfach nicht aufgelistet. Kann mir dazu aber auch keinen Reim bilden weswegen das so ist.

Als Test hab ich mir mal was zusammengebastelt:
Code:
<html>
<head></head>
<body>
<form action="" method="post">
  <input class="radio" type="radio" name="language" value="de-DE" checked="checked" />de-DE <input class="radio" type="radio" name="language" value="en-US" />
  <input type="button" name="Test" value="Test" onclick="getFormData( '' );" />
</body>
</html>
Vielleicht weiß einer woran es da liegen könnte.

Bedanke mich aber schon mal im Vorraus.
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Cookies mittels Javascript hinzufügen KbrowseP JavaScript, Ajax und mehr 4 16.01.2010 02:20
[Erledigt] Html -Startkonfiguration mittels Javascript laden ***tisc*** HTML, Usability und Barrierefreiheit 1 22.05.2009 16:29
1101: 10x JavaScript und kein Ende ist abzusehen… Nikolaus 2.0 Adventskalender 2008 9 13.12.2008 20:11
[Erledigt] DB Insert mittels JavaScript DerEine80 JavaScript, Ajax und mehr 13 13.10.2008 16:15
Von Frame1 mittels JavaScript auf Frame2 zugreifen HTML, Usability und Barrierefreiheit 12 03.03.2005 16:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
java script string erweitern, radio fields, datenstring, javascript ajax data to string, javascript typeof form field, .ajax data radio values, if(typeof(this.value) == \undefined\ || !this.value.trim()), html radio mit field, datastring javascript, javascript:fields, javascript ajax data string, javascript value of input field url hängen, zeichenkette anhängen javascript, javascript typeof form fields, javascript var an get anhängen, input class radio php checked, javascript get anhängen, php radio javascript check, javascript type of form field, <input name=\language\ type=\radio\ checked=\checked\ />

Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum