Wie auch immer, ich muss Folgendes bestätigen bilden. Alle Javascript-Funktionen scheinen gut zu funktionieren, denn wenn ich sie einfach außerhalb des Tags aufrufe, funktioniert alles einwandfrei. Jetzt möchte ich eine grundlegende clientseitige Validierung durchführen (ich weiß, es ist kein sicheres Blabla, aber es ist ein Hobby, daher ist es nicht relevant) und dann das Formular an eine andere Seite übergeben, wo ein PHP (der derzeit WAMP-Server verwendet). 2.0)-Skript sammelt die Daten und speichert sie in der Datenbank.
Hier ist das Formular:
Code: Select all
[img]icons/paises/portugal-flag-icon.png[/img]
Portugal
Nome
Posição
Escolha
Escolha Anterior
EduardoGuarda-redesEFSPNU NU
BetoGuarda-redesEFSPNU NU
Daniel FernandesGuarda-redesEFSPNU NU
Paulo FerreiraDefesaEFSPNU NU
MiguelDefesaEFSPNU NU
Ricardo CarvalhoDefesaEFSPNU NU
Bruno AlvesDefesaEFSPNU NU
Ricardo CostaDefesaEFSPNU NU
Fabio CoentraoDefesaEFSPNU NU
PepeMédioEFSPNU NU
Code: Select all
function ValidaTudo()
{
alert('debug: validating...')
if(Valida('PT'))
{
alert('fine!');
return true;
}
else
{
alert('useless validation message but wth');
return false;
}
}
- Das bin ich nicht Ich bekomme jedes Alarm-Popup von dieser Javascript-Funktion!
- Die Seite wird ganz einfach zu index.php umgeleitet, also gehe ich davon aus, dass es sich um ein PHP/WAMP-Problem handelt ... ich habe WAMP einige Male neu gestartet, aber kein Glück weit. Ich habe meinen PC nicht neu gestartet, obwohl ich denke, dass ich es tun sollte.
PS: Ja, das Formular sendet die Daten überhaupt nicht an irgendeine Seite; ich weiß, dass; Es hat keine Auswirkung auf das seltsame Verhalten, ich habe es versucht.
Bearbeiten: Hier sind die restlichen Validierungsfunktionen. Sie werden verwendet, um zu überprüfen, ob der Benutzer bestimmte Regeln befolgt hat (z. B.: Auswahl von genau 11 Spielern; 1 Torwart; mindestens 3 Verteidiger usw.). Ich übergebe ein paar Parameter, weil wir in der vollständigen Form versuchen, die Spieler von 4 Mannschaften (Portugal, Spanien, Brasilien und Argentinien) zu erraten – also 4 Formulare, jedes mit einer anderen ID (basierend auf der Kennung der Nation – > {PT, BR, AR, ES}
Hier sind die restlichen Funktionen (Beachten Sie, dass sie außerhalb des Formulars funktionieren):
Code: Select all
function Valida (textstring)
{
var error_msg = null;
if(!valida_11(textstring.toUpperCase()))
{
error_msg = 'Erro para a equipa ' + textstring.toUpperCase() + ': deve selecionar apenas 11 jogadores efectivos';
alert(error_msg);
}
if (!valida_gk(textstring.toUpperCase()))
{
error_msg = 'Erro para a equipa ' + textstring.toUpperCase() + ': deve selecionar um e um só 1 guarda-redes efectivo';
alert(error_msg);
}
if (!valida_def(textstring.toUpperCase()))
{
error_msg = 'Erro para a equipa ' + textstring.toUpperCase() + ': deve selecionar um mínino de 3 defesas efectivo';
alert(error_msg);
}
if(error_msg == null)
return true;
else return false;
}
function valida_11(tbl)
{
var ef = 0;
var input_list = document.getElementsByName('escolha' + tbl);
for(var i = 0; i < input_list.length; i++)
{
var a = input_list[i].value;
if(a == "EF")
ef++;
}
if (ef == 11)
return true;
else return false;
}
function valida_gk(tbl)
{
var ef = 0;
var gks = conta_gks(tbl);
var input_list = document.getElementsByName('escolha' + tbl);
for(var i = 0; i < gks; i++)
{
var a = input_list[i].value;
if(a == "EF")
ef++;
}
if (ef == 1)
return true;
else return false;
}
function valida_def(tbl)
{
var defs = conta_defs(tbl);
var gks = conta_gks(tbl);
var ef = 0;
var input_list = document.getElementsByName('escolha' + tbl);
for(var i = gks-1; i < gks + defs; i++)
{
var a = input_list[i].value;
if(a == "EF")
ef++;
}
if (ef >= 3)
return true;
else return false;
}
function conta_defs(tbl)
{
var defs = 0;
var tabela = document.getElementById('tabela_' + tbl);
for(var i = 1; i < tabela.getElementsByTagName("tr").length; i++)
{
var linha = tabela.getElementsByTagName("tr")[i];
var celula = linha.getElementsByTagName("td")[1];
if(celula.innerHTML == "Defesa")
defs++;
}
return defs;
}
function conta_gks(tbl)
{
var gk = 0;
var tabela = document.getElementById('tabela_' + tbl);
for(var i = 1; i < tabela.getElementsByTagName("tr").length; i++)
{
var linha = tabela.getElementsByTagName("tr")[i];
var celula = linha.getElementsByTagName("td")[1];
if(celula.innerHTML == "Guarda-redes")
gk++;
}
return gk;
}
Edit 3: Neustart des PCs, aber das Problem bleibt bestehen... :/
Okay, ich habe es geschafft, die Seite online zu stellen @: http://testing.freeoda.com/teste.html
Probieren Sie es mal aus. Hier erhalte ich einen 404-Fehler; Es wird keine JS-Funktion aufgerufen....