В любом случае, мне нужно проверить следующее форма. Все функции Javascript работают хорошо, потому что если я просто вызываю их вне тега, все работает нормально. Теперь я хочу выполнить базовую проверку на стороне клиента (я знаю, это небезопасно, блабла, но это хобби, поэтому это не имеет значения), а затем передать форму на другую страницу, где PHP (в настоящее время использующий сервер WAMP) 2.0) скрипт соберет данные и сохранит их в базе данных.
Вот форма:
Код: Выделить всё
[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
Код: Выделить всё
function ValidaTudo()
{
alert('debug: validating...')
if(Valida('PT'))
{
alert('fine!');
return true;
}
else
{
alert('useless validation message but wth');
return false;
}
}
- Я не получение любого всплывающего оповещения от этой функции javascript!
- Страница просто перенаправляется на index.php, поэтому я предполагаю, что это проблема PHP/WAMP ... я перезагружал WAMP несколько раз, но пока безуспешно. Я не перезагружал свой компьютер, хотя думаю, что мне следует это сделать.
PS: Да, форма вообще не отправляет данные ни на одну страницу; я знаю это; это не влияет на странное поведение, я пробовал.
Изменить: вот остальные функции проверки. Они используются для проверки того, соблюдает ли пользователь определенные правила (например: выбор ровно 11 игроков; 1 вратаря; как минимум 3 защитников и т. д.). Я передаю пару параметров, потому что в полной форме мы пытаемся угадать игроков 4 команд (Португалия, Испания, Бразилия и Аргентина) — следовательно, 4 формы, каждая со своим идентификатором (на основе идентификатора страны — > {PT, BR, AR, ES}
Вот остальные функции (имейте в виду, что они работают вне формы):
Код: Выделить всё
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;
}
Редактирование 3: Перезагрузил компьютер, но проблема осталась... :/
Хорошо, мне удалось разместить страницу в сети @: http://testing.freeoda.com/teste.html
Попробуйте. Здесь я получаю ошибку 404; никакая функция JS не вызывается....
Подробнее здесь: https://stackoverflow.com/questions/297 ... ect-issues
Мобильная версия