ilch Forum » Allgemein » HTML, PHP, SQL,... » Javascript, Globale Var.

Geschlossen
  1. #1
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    huhu ^^

    Ich habe ein Kleines Problem.
    Und Zwar da die 2 Javascript funktionen einmal im Input onKeyUp abgerufen wird und die andere einfach mit document.write ausgegeben geht die globale variable "result" nicht.

    Hat vllt einer einen Tipp für mich wie ich die Variable "bind" o. "result" übergeben kann. Hatte noch nie viel mit Javascript zu tun muss noch viel lernen ^^ ?

    <html>
    <head>
    <title>Test</title>
    </head>
    <script type="text/javascript">
    
    function vorschlagen(){
    	bind = "";
    	var wert = document.vorschlag.item.value;
    	if( wert != "" ){
    		var arr = new Array("Angelo", "Hunde", "Luisa", "Manohman", "MiniMi", "Papa", "Kein Ahnung!");
    		for(var i=0; i < arr.length; ++i){
    			var sstr = arr[i];
    			var patt = new RegExp("^"+wert);
    			var res = sstr.search(patt);
    			if( res != -1){
    				bind += arr[i]+"\n";
    			}
    		}
    		document.getElementById('speicher').innerHTML = bind;
    		document.vorschlag.items.value = bind; 
    	}
    }
    </script>
    <body>
    
    <form name="vorschlag">
    <input type="text" name="item" id="textfield" value="" onKeyUp="javascript:vorschlagen();">
    <br>
    <textarea name="items" id="items" cols="45" rows="5"></textarea> <!-- TEST -->
    </form>
    <span id="speicher"></span>
    </body>
    </html>


    mfg b3k ^^


    Zuletzt modifiziert von Balthazar3k am 17.04.2009 - 12:23:45
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Mhh also eigentlich sollten globale Variablen überall gelesen werden können?

    Ansonsten könntest du die Sachen auch in einem Element zwischenspeichern.

    Also z.B.
    <span id="speicher" style="display:none;"></span>
    
    
    JS;
    document.getElementById('speicher').innerHTML = 'zu speichern';
    var lesen = document.getElementById('speicher').innerHTML;


    Allerdings als Hinweis, man sollte document.write nicht verwenden, wenn es nicht anders machbar ist, und bei dir kannst du es sicher mit einem Container lösen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    Super hast mich viel weiter Gebracht als ich wollte ^^ Danke

    da ich das Später eh in ein Container hauen wollte muss ich ja kein umweg mit einer 2ten funktion bauen ^^

    Ich habe den Obigen Code geupdatet!


    Zuletzt modifiziert von Balthazar3k am 17.04.2009 - 12:24:06
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    Bekomme ich eigendlich auch zugriff mit javascript auf das balthazar3k.ba.funpic.de/pic/Aufzeichnen.JPG vorschlag/vervollständigungsfenster?


    Zuletzt modifiziert von Balthazar3k am 17.04.2009 - 13:30:22
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Klar, wenn du dem Teil ne id gegeben hast, falls du noch nicht hast, besorge dir mal Firebug für Firefox, damit kannst du dir die DOM Eigenschaften aller Elemente auf der Seite anschauen.

    Und z.B. gleich auch in der Console Javascript testen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    Ok habe ich mal Installiert, muss da aber erst mal Überblick gewinnen. ^^
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    So, nun habe ich das soweit zum Laufen gebracht das es fast geht ^^

    im Obigem Code habe ich ja ein Array... das habe ich durch eine php funtion ersetzt der mir ein java array schreibt mit dem inhalt der datenbank, hat auch funktioniert.

    Also habe ich meine Datenbank mit ca. 60k einträgengefüllt und musste feststellen das javascript die 60k einträge im array verarbeiten kann.

    Also lösung habe ich von nem freund gehabt über Ajax was zu erreichen, allerding ist er nur webdesigner und kann mir nicht Helfen.

    Also so schlau ich mal wieder war Lerne ich Ajax ein wenig grumml sauer, zumindest soweit bis das geht was ich machen will.

    <html>
    <head>
    <title>...</title>
    <script type="text/javascript">
    <!--    
    var req = request();
    			  
    function request(){				 
    	try{  req = new XMLHttpRequest(); }
    	catch (e){
    		try{ req = new ActiveXObject("Msxml2.XMLHTTP");  } 
    		catch (e){
    			try{ req = new ActiveXObject("Microsoft.XMLHTTP"); } 
    			catch (failed){
    				req = null;
    			}
    		}  
    	}
    	
    	return req;
    }
    
    function set_post(){
    	if( req == null ){
    		alert("Kein Request Vorhanden!");
    	}else{
    		req.open("POST", "test.html", true );	
    		req.onreadystatechange = req_check();
    		req.send("vorschlag="+ document.getElementById('vorschlag').value);
    	}
    }
    
    function req_check(){
    	switch(req.readyState) {
    		case 4: if( req.status != 200 ) alert("Fehler: " + req.status); break;
    		default: return false; break;
    	}
    }
    //-->
    </script>
    </head>
    <body>
    <input type="text" id="vorschlag" onkeyup="javascript:set_post();" /><br />
    <?php print_r($_POST); ?>
    </body>
    </html>


    Mit diesem Code versuche ich den WERT vom input feld zu $_POST zu übergeben damit ich die dann in PHP weiter verarbeiten kann ohne die Seite neu Laden zu müssen.

    Ich weiß nicht mal ob der Code ansatz so richtig ist oder Falsch, tips hinweiße oder sonstiges weren mir sehr willkommen. Mfg lächeln
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja also ich würde dir nicht empfehlen "direkt" mit Ajax zu Arbeiten, es gibt da entweder JS-Frameworks wie Mootools oder auch PHP-Frameworks wie xajax, die dich dabei unterstützen, für Browserkompatibilität sorgen etc.

    Und es gibt Tuts zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    im ilch 1.1 X ist ja eine xajax file vorhanden... kann dir mir den weiter helfen? wird ja später in ein modul für ilch drinne stehen was ich machen will. zu dem habe ich sie mir nur flüchtig angeschaut weil da doch recht viel drinne stehen hat, und sie nicht mal richtig formatiert ist um vermutlich platz zu sparen.

    ach un Tuts finde ich keine, komme immer nur auf seiten die mit Submit ausgelöst werden, unter was für Begriff sollte ich da suchen?


    Zuletzt modifiziert von Balthazar3k am 24.04.2009 - 12:07:14
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja wenn du es in ilch nutzen willst, kannst du xajax nutzen, dazu könntest du dir z.B. News Extended anschauen, da nutze ich das.

    Weiter gibts da Einführungen auf www.xajaxproject.org/
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    Alle klar dankewerde ich mir mal anschauen ^^
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    So habs mir mal angeschaut... allerdings verstehe ich nicht woher das script $name bezieht von der funktion checkKomName. Weil da die funktion ja regestriert wird $xajax->registerFunction('checkKomName');?

    function checkName($name) {
        if (db_count_query("SELECT COUNT(name) FROM prefix_user WHERE name LIKE '$name'")) {
            return false;
        } else {
            return true;
        }
    }
    
    function checkKomName($name) {
        $resp = new xajaxResponse();
        if (checkName($name) OR loggedin()) {
            $name = utf8_decode($name);
            $resp->script('document.forms["komform"].submit();');
        } else {
            $resp->assign('komname', 'value' , '');
            $resp->alert('Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.');
            $resp->script("document.getElementById('komname').focus();");
        }
        return $resp;
    }
    // xajax für namencheck
    $xajax = new xajax('index.php?news-ajax');
    $xajax->registerFunction('checkKomName');
    $xajax->processRequest();
    
    if ($menu->get(1) == 'ajax') {
        exit();
    }
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja der wird von der Javascript Funktion übergeben, sprich beim Aufruf von xajax_checkKomName mit übergeben.


    Zuletzt modifiziert von Mairu am 26.04.2009 - 09:03:50
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    Ok, also ich hab es mal getestet auf der News Seite ich bekomme es aber nicht hin das er mir ne Fehler Meldung anzeigt.

    Ich Habe mich Ausgeloggt und habe Anschließend im Ausgeloggtem Zustand mit meinen Namen ein Kommentar schreiben können. oO

    balthazar3k.ba.funpic.de/index.php?news-16
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Das liegt am schlechten Logout von ilch, versuchs einfach mit einem anderen Browser, dann sollte es nicht gehen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    hmm naja ein eintrag geht nicht mehr, aber fehler meldung halt auch nicht ^^

    störn tut es mich nicht ab blöd für die leute die es dann doch die da glaube sie hätten was geschriebn vorallem der Text ist ja dann auch weg.

    nagut dann werde ich ma mit xajax rumbauen ^^


    Zuletzt modifiziert von Balthazar3k am 26.04.2009 - 17:07:29
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten