Ir para conteúdo
Fórum Script Brasil
  • 0

PHP FORM NÃO EXECUTA ONSUBMIT


Paiva Jr

Pergunta

Amigos, tenho um programa idêntico ao abaixo listado (a diferença esta apenas no fato de que uso apenas div) em que funciona legal o onsubmit, mas nesse abaixo não entra na função. alguém consegue me explicar o porque ?

listagem :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Alteração</title>
<script language="javascript" type="text/javascript">
/* validação dos agentes */
function valida()
{ this;
var d = document.Form1;
if(d.cod.value == "")
{
alert('Favor preencher o campo de código !.');
d.cod.focus();
return false;
}
if(d.nome.value == "")
{
alert('Favor preencher o campo de nome !.');
d.editbox2.focus();
return false;
}
if(d.getElementById("combo_cargo").selectedIndex == "")
{
alert('Favor selecionar um cargo para o agente !.');
d.combocargo.focus();
return false;
}
if(d.email.value == "")
{
alert('Favor preencher o campo de email !.');
d.email.focus();
return false;
}
if !(filter_var(d.email.value))
{
alert('Favor preencher com email válido !.');
d.email.focus();
return false;
}
}
</script>
<style type="text/css">
body
{
background-color: #FFFFFF;
color: #000000;
font-family: Arial;
font-size: 13px;
margin: 0;
padding: 0;
}
</style>
<style type="text/css">
a
{
color: #0000FF;
text-decoration: underline;
}
a:visited
{
color: #800080;
}
a:active
{
color: #FF0000;
}
a:hover
{
color: #0000FF;
text-decoration: underline;
}
</style>
<style type="text/css">
#wb_Form1
{
background-color: #FAFAFA;
border: 1px #000000 solid;
}
#Editbox1
{
border: 1px #A9A9A9 solid;
background-color: #FFFFFF;
color :#000000;
font-family: Arial;
font-size: 13px;
text-align: left;
vertical-align: middle;
}
#Editbox2
{
border: 1px #A9A9A9 solid;
background-color: #FFFFFF;
color :#000000;
font-family: Arial;
font-size: 13px;
text-align: left;
vertical-align: middle;
}
#wb_Text1
{
background-color: transparent;
border: 0px #000000 solid;
padding: 0;
text-align: left;
}
#wb_Text1 div
{
text-align: left;
}
#wb_Text2
{
background-color: transparent;
border: 0px #000000 solid;
padding: 0;
text-align: left;
}
#wb_Text2 div
{
text-align: left;
}
#Button1
{
border: 1px #A9A9A9 solid;
background-color: #F0F0F0;
color: #000000;
font-family: Arial;
font-size: 13px;
}
#wb_Text3
{
background-color: transparent;
border: 0px #000000 solid;
padding: 0;
text-align: left;
}
#wb_Text3 div
{
text-align: left;
}
</style>
</head>
<body>
<?php
// include_once('conexao.php');
require_once('conexao.php');
if (isset($_GET["id"]))
{
$id = $_GET["id"];
}
else
{
echo "erro get";
}
$ibaseSQL = "SELECT a.*, c.cargo_codigo, c.cargo_nome FROM t_agentes a inner join t_cargos c on a.agente_cod_cargo = c.cargo_codigo where a.agente_codigo = '$id'";
$ibaseResult = ibase_query($conexao, $ibaseSQL);
$j = 0;
while (ibase_fetch_row($ibaseResult))
{
$j++; // $j= Quantidade de registros pra paginação
}
if ($j > 1)
{
echo "Existem mais de um registro com a chave : " . "$id" . " Exclua os registros desnecess⳩os !";
//echo "<a href="javascript:window.history.go(-1)">Voltar</a>";
}
$ibaseSQL = "SELECT a.*, c.cargo_codigo, c.cargo_nome FROM t_agentes a inner join t_cargos c on a.agente_cod_cargo = c.cargo_codigo where a.agente_codigo = '$id'";
$ibaseResult = ibase_query($conexao, $ibaseSQL);
while ($linha = ibase_fetch_assoc($ibaseResult)) {
//edita os dados do registro
$cod = str_pad($linha["AGENTE_CODIGO"],6,'0',STR_PAD_LEFT);
$nome = substr($linha["AGENTE_NOME"], 0, 50);
$cargo = $linha["AGENTE_COD_CARGO"];
$inicio = $linha["AGENTE_INICIO"];
$termino = $linha["AGENTE_TERMINO"];
$matricula = str_pad(trim($linha["AGENTE_MATRICULA"]),6,'0',STR_PAD_LEFT);
$email = substr($linha["AGENTE_EMAIL"], 0, 50);
}
if(empty($termino))
{
$termino = '0000-00-00';
}
?>
<div id="wb_Text3" style="position:absolute;left:450px;top:42px;width:109px;height:24px;z-index:5;text-align:left;">
<span style="color:#0000FF;font-family:Arial;font-size:21px;">Agentes</span></div>
<div id="wb_Form1" style="position:absolute;left:214px;top:83px;width:585px;height:318px;z-index:7;">
<form name="Form1" method="post" action="salvar_edicao.php" onSubmit="return valida(this)">
<table width="400" border="0" align="center">
<tr>
<td width="145">Código</td>
<td width="245"><input name="codigo" type="text" id="cod" maxlength="6" class="textBox" value="<?php echo $cod; ?>" /></td>
</tr>
<tr>
<td width="145">Nome</td>
<td width="245"><input name="nome" type="text" id="nome" maxlength="50" class="textBox" value="<?php echo $nome; ?>" /></td>
</tr>
<tr>
<td width="200">Cargo</td>
<td>
<select name="p_cargo" class="textBox" size="1" id="combo_cargo" style="top:120px;width:245px;height:19px;line-height:19px;z-index:3;";>;
<!-- faz o loop para preencher o campo criado com os valores retornados na consulta -->
<?php
$sql_cargo = "SELECT * from t_cargos order by cargo_codigo asc";
$result_cargos = ibase_query($conexao,$sql_cargo);
echo '<option value="' . "0" . '">' . "todos" . '</option>';
while($dados = ibase_fetch_assoc($result_cargos))
{
$codc = $dados["CARGO_CODIGO"];
$nomec = $dados["CARGO_NOME"];
if ($codc == $cargo)
{
echo '<option value="' . $codc . '" selected>' . $nomec . '</option>';
}
else
{
echo '<option value="' . $codc . '">' . $nomec . '</option>';
}
}
//fecha o campo select
echo '</select>';
?>
</td>
</tr>
<tr>
<td>Data de Início</td>
<td>
<?php
$arr = explode("-", $inicio);
echo Seleciona_Item($arr[2], monta_select("idia", 1, 31));
echo Seleciona_Item($arr[1], monta_select("imes", 1, 12));
echo Seleciona_Item($arr[0], monta_select("iano", 1940, 2014));
?>
</td>
</tr>
<tr>
<td>Data de Término</td>
<td>
<?php
$arr = explode("-", $termino);
echo Seleciona_Item($arr[2], monta_select("tdia", 0, 31));
echo Seleciona_Item($arr[1], monta_select("tmes", 0, 12));
echo Seleciona_Item($arr[0], monta_select("tano", 0, 2014));
?>
</td>
</tr>
<tr>
<tr>
<td width="145">Matrícula</td>
<td width="245"><input name="matricula" type="text" id="matricula" maxlength="50" class="textBox" value="<?php echo $matricula; ?>" /></td>
</tr>
<tr>
<td width="200">Email</td>
<td><input name="email" type="text" id="email" maxlength="64" class="textBox" value="<?php echo $email; ?>" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input name="enviar" type="submit" value="Salvar" style="cursor:pointer;position:absolute;left:1050px;top:120px;width:96px;height:25px;z-index:4;" /></td>
</tr>
</table>
<?php
function Seleciona_Item($valor, $campo) {
return preg_replace("#<option value=\"$valor\">#is", "<option value=\"$valor\" selected=\"selected\">", $campo);
}
function monta_select($campo, $start, $end) {
$select = "<select name=\"$campo\" id=\"$campo\">\n";
for($i = $start; $i <= $end; $i++) {
$select .= "\t<option value=\"". sprintf("%02d", $i) ."\">".sprintf("%02d", $i)."</option>\n";
}
$select .= "</select>\n";
return $select;
}
?>
</form>
</div>
</body>
</html>
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Euler, Obrigado pela ajuda, mas já tinha encontrado o erro (e não era só esse). Outros campos da validação também tinham erros. Tinha colocado uns "echo's" na função e o PHP/JS não executava o comando, daí pensar que não estava executando a validação. Agora sei que quando houver qualquer erro ele ignora toda a função,

Agora, "puxando a brasa para o meu peixe", v. olhou a sua cx postal ?. Aquele problema até hoje não resolvi. Se o amigo puder me ajudar, agradeceria bastante.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...