Kann ich das ganze auch mit php machen?
Ist es einfacher die PHP Variable an Javascript zu übergeben.
Ich habe jetzt ein PHP Programm, in dem ich mit PHP die Datenbank auslesen und mit Javascript den Rest mache. Jetzt muss ich natürlich noch den Übergang machen von PHP zu Javascript.
es ist ganz egal, woher Du diese Wortliste beziehst.
So wie es sich anhört, willst Du wohl kein Ajax verwenden, sondern die ganze Seite immer wieder neu laden.
Dann würde ich zumindest in einem hiddenfeld die drei Buchstaben für die aktuelle Wortliste mitschicken, um prüfen zu können, ob sich die geändert haben, damit der submit nicht bei jeder Änderung erfolgt. Und noch eine Unterscheidung, ob es ein wortlist-submit oder ein user-submit ist.
Außerdem, falls vorhanden, sind ja auch die values eventueller anderer Felder wieder mit in die neue Seite zu übernehmen.
Also gar nicht mal so wenig Aufwand - gegenüber einer Ajax-Lösung … vom Traffic und Ladezeit mal abgesehen
Ich habe es jetzt mit PHP und Javascript hinbekommen.
Danke noch mal für eure Hilfe.
Hier ist mein Script, falls ihr euch die Umsetzung einmal angucken wollt.
<?php // Hier die Datenbankverbindung noch einfügen
$sql = "select words from instant";
$words\_query = mysql\_query($sql) or die("Anfrage nicht erfolgreich");
while ($words = mysql\_fetch\_array($words\_query))
{
$word = $word.",".$words[0];
}
$size = sizeof($word);
?\>
input,span,body{font-size:110%}
p,div{padding:0px;margin:0px;}
input{width:204px;}
ul.instant{list-style-type:none;padding:0px;margin:0px;
width:200px;border:2px outset lightgrey;border-top:0px;
padding-bottom:10px; display:none; }
li{list-style-type:none;}
var worte= new Array();
var size = \<?php echo $size;?\>;
temp = "\<?php echo $word;?\>";
var worte = temp.split(",")
var inEl='\
';
function check(was){
if(was.length \> 2)
{
var elem=document.getElementById('instant');
elem.innerHTML="";
var pattern = "^"+was;
var re = new RegExp(pattern, "i");
for (var i=0; i \< worte.length; i++)
{
if(re.test(worte[i]))
{
elem.innerHTML+= inEl + worte[i] + "\";
elem.style.display="block";
}
}
}
}
function change (das){
document.getElementById('in').value=das
document.getElementById('instant').innerHTML=""
document.getElementById('instant').style.display="none"
}
Ich hab die Erfahrung gemacht, dass bei den meisten Webmastern tatsächlich HTML das eigentliche Problem ist. Von Semantik haben erschreckend wenig jemals etwas gehört und viele denken nach wie vor, HTML sei zur Gestaltung da. Teilweise sind das sogar Firmen, die Websites für Geld anbieten, die - wie man in deren Quellcode sofort sehen kann - gar nicht wissen, was HTML ist.
Das Problem mit dem andauernd Abschicken habe ich mir auch
schon gedacht, aber mir war keine andere Möglichkeit bekannt.
Ajax Das sogenannte „Web 2.0“. Eine schöne Sache. Wenn man immer im Hinterkopf behält, dass es Leute gibt, die kein JavaScript aktiviert haben (dürfen) und die Site trotzdem benutzen wollen.
Ich habe da noch mal eine Frage:
Ich habe ja jetzt eine Instant-Funktion und habe aber das Problem, dass ich diese Instant-Funktion in einem Frame ganz oben auf meiner Seite haben möchte. Leider weiß ich nicht, wie ich die Vorschläge, die die Instant-Funktion mir liefert über den Frame-Rand anzeigen lassen kann.
Bei Fragen zum Problem bitte einfach bei mir melden.
Danke schon mal im Voraus.
Okay, schade. Hatte ich fast schon befürchtet.
Das Problem ist, dass ich jetzt für die Suchfunktion PHP und Javascript benutzt habe und den Rest mit Perl programmiert habe. Es müsste doch aber mit der include-Funktion von PHP funktionieren oder?
Also, wenn ich jetzt auf Frames verzichte, was bei meinem Problem wohl notwendig ist, wie binde ich dann am besten in mein Perl-Script die PHP-Datei ein?
Das Problem ist, dass ich jetzt für die Suchfunktion PHP und
Javascript benutzt habe und den Rest mit Perl programmiert
habe. Es müsste doch aber mit der include-Funktion von PHP
funktionieren oder?
ein Rat:
lass die Mischerei!
include lieber Ajax (den Response durch PHP)
Das ist eine saubere Lösung, um dynamisch Teil-Inhalte der Seite auszutauschen
Aber wie bringe ich dann mein Hauptprogramm, was ich mit Perl
geschrieben habe unter?
andersherum:
wie bringe ich die Instant-Funktion incl. Ajax ins Hauptprogramm!!
Das Hauptprogramm gibt doch wohl HTML aus und darin kannst Du die Instant-Funktion einbinden!!
[Submit](javascript:%20submitform())
Das muss doch jetzt irgendwie in diese Zeile hier:
elem.innerHTML+= inEl + worte[i] + „“;
oder?
dann habe ich die Funktion
function submitform()
{
document.forms[„myform“].submit();
}
aber wo muss ich jetzt die Zeile hierhin?