Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TeixeiraRamos

Formulario não critica campo não preenchido

Recommended Posts

O formulário insere os registros na tabela mas não critica os campos.

O código do formulário é esse:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Inserir livros na tabelas de livros</title>
<!-- Esse código funciona-->
<script language="javascript">
function validaForm() {
if (document.formLivro.txtCodigo.value.length <1)
{alert("O campo ISBN não pode ficar em branco. ");
formLivro.txtCodigo.focus();
return false;
}
if (document.formLivro.txtCodCategoria.value.length <1)
{alert("O campo Código da Categoria não pode ficar em branco.")
formLivro.txtCodCategoria.focus();
return false;
}
if (document.formLivro.txtTitulo.value.length <1)>
{alert("O campo Título não pode ficar em branco.");
formLivro.txtTitulo.focus();
return false;
}
if (documento.formLivro.txtAutor.value.length <1)
{alert("Ocampo Autor não pode ficar em branco.");
formLivro.txtAutor.focus();
return false;
}
if (document.formLivro.txtPreco.value.length <1)
{alert("O campo Preço não pode ficar em branco.")
formLivro.txtPreco.focus();
return false;
}
if (document.formLivro.txtCapa.value.length <1)
{alert("O campo Imagem da Capa não pode ficar em branco.")
formLivro.txtCapa.focus();
return false
}
return true;
}
</script> 
</head>
<body>
<form name="formLivro" method="post"  action="ResLab10_1.asp" onsubmit="return validaForm(this);">
Inclusão de Livros<br /><br />
Informe os dados do livro a ser inserido. Os campos com (*) são de digitação obrigatória.<br />

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="20%">ISBN: </td>
<td width="80%"> <input name="txtCodigo"  type="text" />
 *</td>
</tr>

<tr>
<td width="20%">Código da Categoria:</td>
<td width="80%"> <input type="text" name="txtCodCategoria" /> *</td>
</tr>

<tr>
<td width="20%">Título:</td>
<td width="80%"> <input type="text" name="txtTitulo" /> *</td>
</tr>

<tr>
<td width="20%">Autor:</td>
<td width="80%"> <input type="text" name="txtAutor"  /> *</td>
</tr>

<tr>
<td width="20%">Número de páginas:</td>
<td width="80%"> <input type="text" name="txtNPaginas" /></td>
</tr>

<tr>
<td width="20%">Formato:</td>
<td width="80%"> <input type="text" name="txtFormato" /></td>
</tr>

<tr>
<td width="20%">Preço:</td>
<td width="80%"> <input type="text" name="txtPreco" /> *</td>
</tr>

<tr>
<td width="20%">Resenha:</td>
<td width="80%"> <textarea name="txtResenha" rows="5" cols="40"></textarea></td>
</tr>

<tr>
<td width="20%">Lançamento (S/N): </td>
<td width="80%"> <input type="text" name="txtLancamento" /></td>
</tr>

<tr>
<td width="20%">Data Publicação: </td>
<td width="80%"> <input type="text" name="txtDataPub" /></td>
</tr>

<td width="20%"></td>
<td width="80%">
<input type="submit" value="Inserir" name="btInsere" />
<input type="reset" value="Limpa campos" name="btLimpa" />
</td>
</tr>
</table>
</form>
</body>
</html>

O a página é essa:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Option Explicit 
%>

<!--#Include file="dbConexao.asp"-->

<%
Dim conexaoDataBase
Dim strIns, rsLivros
Dim varCodigo, varCodCategoria, varTitulo, varAutor, varNPaginas, varFormato, varPreco, varResenha, varLancamento, varDataPub 
VarCodigo = TRIM(Request.Form("txtCodigo"))
VarCodCategoria = Request.Form("txtCodCategoria")
VarTitulo = TRIM(Request.Form("txtTitulo"))
varAutor = TRIM(Request.Form("txtAutor"))
VarNPaginas = Request.Form("txtNPaginas")
VarFormato = TRIM(Request.Form("txtFormato"))
VarPreco = Request.Form("txtPreco")
VarResenha = Request.Form("txtResenha")
VarLancamento = TRIM(Request.Form("txtLancamento"))
VarDataPub = TRIM(Request.Form("txtDataPub"))
varTitulo = REPLACE(varTitulo, "'", " ")
varAutor = REPLACE(varAutor, "'", " ")
VarFormato = REPLACE(VarFormato, "'", " ")
VarResenha = REPLACE(VarResenha, "'", " ")
VarPreco = REPLACE(VarPreco, ",", ".")
strINS = "INSERT into Livros "
strINS = strINS & "(codLivro, Categoria, titulo, autor, npaginas, formato, preco, resenha, lancamento, dataPub)"
strINS = strINS + "VALUES ('" + varCodigo + "', "
strINS = strINS + "'" + varCodCategoria + "', "
strINS = strINS + "'" + varTitulo + "', "
strINS = strINS + "'" + varAutor + "', "
strINS = strINS + varNPaginas + ","
strINS = strINS + "'" + varFormato + "', "
strINS = strINS + varPreco + ", "
strINS = strINS + "'" + varResenha + "', "
strINS = strINS + "'" + varLancamento + "', "
strINS = strINS + "'" + varDataPub + "')"

Call abreConexao
Set rsLivros = conexaoDataBase.Execute(strINS)
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inserindo dados em uma tabela</title>
</head>

<body>
O Livro: "<strong><% = varTitulo %></strong>" foi cadastrado com sucesso 
</body>
</html>
<%
Call fechaConexao
Set rsLivros = Nothing
%>

Não preenchendo um dos campos com * deveria informar por exemplo: "O campo Título não pode ficar em branco. Mas isso não ocorre. Deixando em branco informa erro:

 

 

Microsoft Office Access Database Engine erro '80004005'

O campo 'Livros.Titulo' não pode ser uma seqüência de caracteres de comprimento nulo.

/serieweb/nasp/laboratorios/ResLab10_1.asp, linha 41

 

a linha 41 é:

 

 

Set rsLivros = conexaoDataBase.Execute(strINS)

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Teixeira,

 

1)

No seu script tem um erro.

if (document.formLivro.txtTitulo.value.length <1)>

Retire o > e teste novamente.

 

 

2)

O erro da linha 41, é porque em sua base de dados está marcada para não aceitar campos "vazio", "nulo" por isso a mensagem.

 

 

3)

Mas você pode tb, fazer uma verificação pelo próprio ASP, assim se seu JavaScript passar por alto, terá a validação pelo ASP tb.

 

Abaixo um exemplo de como você poderá fazer isso, depois basta aplicar para os demais campos que tb queira validar.

If Request.Form("txtTitulo") = "" Then

Response.Write("<center>")
Response.Write "<h3>"
Response.Write "<font color=red>( Título ) não pode ser vazio.</font>"
Response.Write "</h3>"
Response.Write("<a href='javascript:history.back()'><img src='voltar.png'></a>")
Response.Write "</center>"

ElseIf Request.Form("txtAutor") = "" Then


'demais campos caso for fazer.... 

Else 

'Aqui vem seu Code
VarCodigo = TRIM(Request.Form("txtCodigo"))
.
.
.

'Aqui vem seu Insert 

End If

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá wilnet,

Obrigado pela sua atenção. É o seguinte:

a) Todo o código é de um livro. Claro que pode ocorrer erro de impressão nos livros e até erro mesmo. Contudo, esse erro:

 

if (document.formLivro.txtTitulo.value.length <1)>

 

estaria em todos if porque em todos existem no final <1. Vamos aceitar um erro em uma linha agora em todas as linhas com if do script? Observe que eu citei um exemplo mas nada é criticado. Afirmo que o registro é incluído na tabela sem problema.

Vamos supor que não digite nada em nenhum campo do formulário. O certo seria ir criticando cada um campo não preenchido e não indicar o erro:

 

Microsoft Office Access Database Engine erro '80040e14'

Erro de sintaxe na instrução INSERT INTO.

/serieweb/nasp/laboratorios/ResLab10_1.asp, linha 41

 

 

Executei a sua sugestão "Retire o > e teste novamente." gerou o erro:

 

 

Microsoft Office Access Database Engine erro '80004005'

O campo 'Livros.Titulo' não pode ser uma seqüência de caracteres de comprimento nulo.

/serieweb/nasp/laboratorios/ResLab10_1.asp, linha 41

 

Linha 41 é

Set rsLivros = conexaoDataBase.Execute(strINS)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Teixeira,

 

Troque isso:

if (document.formLivro.txtTitulo.value.length <1)>

Por isso:

if (document.formLivro.txtTitulo.value.length <1)

Foi o que eu me referi no primeiro post.

 

É nessa linha que disse que está o erro.

 

veja a correção e teste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wilnet Perdão pela minha falha.

Desde ontem estou revisando todo o script e não tinha observado o erro que você achou. Inclusive você fez com que revisasse outros linhas do script novamente e descobri falta de ";" , "document" digitado como "documento". Só poderia ocorrer erro mesmo. As linhas dos códigos parecem que me cegam.

Muito obrigado, prometo me esforçar ainda mais para evitar esses erros.

 

Se for possível, gostaria de aproveitar para consulta mais uma funcionalidade que já procurei e não achei.

É o seguinte:

Haveria possibilidade de inserir no script, no campo Resenha, algo no sentido que se alguém tentasse digitar "@" (um link) ao clicar no botão "Inserir" gerasse a mensagem: "Não é permitido digitar link no campo Resenha", ou seja, não permitir em qualquer parte do campo "Resenha" digitar link?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É isso Teixeira, era só da uma debugada.

 

Vamos lá a sua outra dúvida,

 

Veja se este Script te ajuda.

<script>
function listarPermitido(e,args)
{		
	if (document.all){var evt=event.keyCode;}
	else{var evt = e.charCode;}
	var valid_chars = '0123456789abcdefghijlmnopqrstuvxzwykABCDEFGHIJLMNOPQRSTUVXZWYK-_'+args;	//Insira as teclas permitidas.
	var chr= String.fromCharCode(evt);
	if (valid_chars.indexOf(chr)>-1 ){return true;}
	if (valid_chars.indexOf(chr)>-1 || evt < 9){return true;}
	return false;
}
</script>
<textarea name="txtResenha" rows="5" cols="40" onkeypress="return listarPermitido(event);"/></textarea>

Isso irá Bloquear as Teclas não listada e permitidas no scritpt acima. Ou seja, a pessoa irá tentar digitar, mas não poderá.

 

 

No script acima tem essa parte:

var valid_chars = '0123456789abcdefghijlmnopqrstuvxzwykABCDEFGHIJLMNOPQRSTUVXZWYK-_'+args;

É aqui que vc lista as teclas que deseja permitir.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wilnet,

O script ficou assim:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Inserir livros na tabelas de livros</title>
<!-- Esse código funciona MERITOS DO FORUM.IMASTER -mEMBRO: Wilnet, dia 29/10/2014-->
<script language="javascript">
function validaForm() {
if (document.formLivro.txtCodigo.value.length <1)
{alert("O campo ISBN não pode ficar em branco. ");
formLivro.txtCodigo.focus();
return false;
}
if (document.formLivro.txtCodCategoria.value.length <1)
{alert("O campo Código da Categoria não pode ficar em branco.");
formLivro.txtCodCategoria.focus();
return false;
}
if (document.formLivro.txtTitulo.value.length  <1)
{alert("O campo Título não pode ficar em branco.");
formLivro.txtTitulo.focus();
return false;
}
if (document.formLivro.txtAutor.value.length <1)
{alert("Ocampo Autor não pode ficar em branco.");
formLivro.txtAutor.focus();
return false;
}
if (document.formLivro.txtPreco.value.length <1)
{alert("O campo Preço não pode ficar em branco.");
formLivro.txtPreco.focus();
return false;
}
if (document.formLivro.txtCapa.value.length <1)
{alert("O campo Imagem da Capa não pode ficar em branco.");
formLivro.txtCapa.focus();
return false;
}
return true;
}
</script> 

<script>
function listarPermitido(e,args)
{		
	if (document.all){var evt=event.keyCode;}
	else{var evt = e.charCode;}
	var valid_chars = '0123456789abcdefghijlmnopqrstuvxzwykABCDEFGHIJLMNOPQRSTUVXZWYK-_'+args;	//Insira as teclas permitidas.
	var chr= String.fromCharCode(evt);
	if (valid_chars.indexOf(chr)>-1 ){return true;}
	if (valid_chars.indexOf(chr)>-1 || evt < 9){return true;}
	return false;
}
</script>


</head>
<body>
<form name="formLivro" method="post"  action="ResLab10_1.asp" onsubmit="return validaForm(this);">
Inclusão de Livros<br /><br />
Informe os dados do livro a ser inserido. Os campos com (*) são de digitação obrigatória.<br />

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="20%">ISBN: </td>
<td width="80%"> <input name="txtCodigo"  type="text" />
 *</td>
</tr>

<tr>
<td width="20%">Código da Categoria:</td>
<td width="80%"> <input type="text" name="txtCodCategoria" /> *</td>
</tr>

<tr>
<td width="20%">Título:</td>
<td width="80%"> <input type="text" name="txtTitulo" /> *</td>
</tr>

<tr>
<td width="20%">Autor:</td>
<td width="80%"> <input type="text" name="txtAutor"  /> *</td>
</tr>

<tr>
<td width="20%">Número de páginas:</td>
<td width="80%"> <input type="text" name="txtNPaginas" /></td>
</tr>

<tr>
<td width="20%">Formato:</td>
<td width="80%"> <input type="text" name="txtFormato" /></td>
</tr>

<tr>
<td width="20%">Preço:</td>
<td width="80%"> <input type="text" name="txtPreco" /> *</td>
</tr>

<tr>
<td width="20%">Resenha:</td>
<td width="80%"> <textarea name="txtResenha" rows="5" cols="40" onkeypress="return listarPermitido(event);"/></textarea></td>
</tr>

<tr>
<td width="20%">Lançamento (S/N): </td>
<td width="80%"> <input type="text" name="txtLancamento" /></td>
</tr>

<tr>
<td width="20%">Data Publicação: </td>
<td width="80%"> <input type="text" name="txtDataPub" /></td>
</tr>


<td width="20%"></td>
<td width="80%">
<input type="submit" value="Inserir" name="btInsere" />
<input type="reset" value="Limpa campos" name="btLimpa" />
</td>
</tr>
</table>
</form>

</body>
</html>

Ocorre que ao digitar qualquer coisa não está dando espaço para continuar digitando. Por exemplo, digito no campo txtResenha "A" não consigo mais digitar nada a não ser uma letra ou uma palavra (espaço não funciona).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque esse:

<script>
function listarPermitido(e,args)
{		
	if (document.all){var evt=event.keyCode;}
	else{var evt = e.charCode;}
	var valid_chars = '0123456789abcdefghijlmnopqrstuvxzwykABCDEFGHIJLMNOPQRSTUVXZWYK-_'+args;	//Insira as teclas permitidas.
	var chr= String.fromCharCode(evt);
	if (valid_chars.indexOf(chr)>-1 ){return true;}
	if (valid_chars.indexOf(chr)>-1 || evt < 9){return true;}
	return false;
}
</script>

Por este:

<script>
function listarPermitido(e)
{		
	if (document.all){var evt=event.keyCode;}
	else{var evt = e.charCode;}
	var valid_chars = '@<>';	//Insira as teclas Bloqueadas.
	var chr= String.fromCharCode(evt);
	if (valid_chars.indexOf(chr)>-1 ){return false;}
	if (valid_chars.indexOf(chr)>-1 || evt < 9){return false;}
	return true;
}
</script>

Fiz a inversão, antes tinha as teclas permitidas,

Agora vc inseri no script apenas as que deseja Bloquear.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc pode usar Regular expressions para validar os campos também. E se tratando de campos, vc pode usar máscara em jquery para validação, tratamento e exibição, fica bem melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wilnet,

Muito obrigado, funcionou mas a tecla "Backspace" e seta retroceder não funcionam. Acredito que sempre que for necessário retroceder para corrigir uma palavra terei que clicar no botão "Limpar Campo". Se é isso mesmo tudo bem.

Ficou assim o código:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Inserir livros na tabelas de livros</title>
<!-- Esse código funciona MERITOS DO FORUM.IMASTER -mEMBRO: Wilnet, dia 29/10/2014-->
<script language="javascript">
function validaForm() {
if (document.formLivro.txtCodigo.value.length <1)
{alert("O campo ISBN não pode ficar em branco. ");
formLivro.txtCodigo.focus();
return false;
}
if (document.formLivro.txtCodCategoria.value.length <1)
{alert("O campo Código da Categoria não pode ficar em branco.");
formLivro.txtCodCategoria.focus();
return false;
}
if (document.formLivro.txtTitulo.value.length  <1)
{alert("O campo Título não pode ficar em branco.");
formLivro.txtTitulo.focus();
return false;
}
if (document.formLivro.txtAutor.value.length <1)
{alert("Ocampo Autor não pode ficar em branco.");
formLivro.txtAutor.focus();
return false;
}
if (document.formLivro.txtPreco.value.length <1)
{alert("O campo Preço não pode ficar em branco.");
formLivro.txtPreco.focus();
return false;
}
if (document.formLivro.txtCapa.value.length <1)
{alert("O campo Imagem da Capa não pode ficar em branco.");
formLivro.txtCapa.focus();
return false;
}
return true;
}
</script> 

<script>
function listarPermitido(e,args)
{		
	if (document.all){var evt=event.keyCode;}
	else{var evt = e.charCode;}
	var valid_chars = '0123456789abcdefghijlmnopqrstuvxzwykABCDEFGHIJLMNOPQRSTUVXZWYK-_'+args;	//Insira as teclas permitidas.
	var chr= String.fromCharCode(evt);
	if (valid_chars.indexOf(chr)>-1 ){return true;}
	if (valid_chars.indexOf(chr)>-1 || evt < 9){return true;}
	return false;
}
</script>

<script>
function listarPermitido(e)
{		
	if (document.all){var evt=event.keyCode;}
	else{var evt = e.charCode;}
	var valid_chars = '@<>';	//Insira as teclas Bloqueadas.
	var chr= String.fromCharCode(evt);
	if (valid_chars.indexOf(chr)>-1 ){return false;}
	if (valid_chars.indexOf(chr)>-1 || evt < 9){return false;}
	return true;
}
</script>

</head>
<body>
<form name="formLivro" method="post"  action="ResLab10_1.asp" onsubmit="return validaForm(this);">
Inclusão de Livros<br /><br />
Informe os dados do livro a ser inserido. Os campos com (*) são de digitação obrigatória.<br />

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="20%">ISBN: </td>
<td width="80%"> <input name="txtCodigo"  type="text" />
 *</td>
</tr>

<tr>
<td width="20%">Código da Categoria:</td>
<td width="80%"> <input type="text" name="txtCodCategoria" /> *</td>
</tr>

<tr>
<td width="20%">Título:</td>
<td width="80%"> <input type="text" name="txtTitulo" /> *</td>
</tr>

<tr>
<td width="20%">Autor:</td>
<td width="80%"> <input type="text" name="txtAutor"  /> *</td>
</tr>

<tr>
<td width="20%">Número de páginas:</td>
<td width="80%"> <input type="text" name="txtNPaginas" /></td>
</tr>

<tr>
<td width="20%">Formato:</td>
<td width="80%"> <input type="text" name="txtFormato" /></td>
</tr>

<tr>
<td width="20%">Preço:</td>
<td width="80%"> <input type="text" name="txtPreco" /> *</td>
</tr>

<tr>
<td width="20%">Resenha:</td>
<td width="80%"> <textarea name="txtResenha" rows="5" cols="40" onkeypress="return listarPermitido(event);"/></textarea></td>
</tr>

<tr>
<td width="20%">Lançamento (S/N): </td>
<td width="80%"> <input type="text" name="txtLancamento" /></td>
</tr>

<tr>
<td width="20%">Data Publicação: </td>
<td width="80%"> <input type="text" name="txtDataPub" /></td>
</tr>


<td width="20%"></td>
<td width="80%">
<input type="submit" value="Inserir" name="btInsere" />
<input type="reset" value="Limpa campos" name="btLimpa" />
</td>
</tr>
</table>
</form>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teixeira, Remova essa parte de sua página:

<script>
function listarPermitido(e,args)
{		
	if (document.all){var evt=event.keyCode;}
	else{var evt = e.charCode;}
	var valid_chars = '0123456789abcdefghijlmnopqrstuvxzwykABCDEFGHIJLMNOPQRSTUVXZWYK-_'+args;	//Insira as teclas permitidas.
	var chr= String.fromCharCode(evt);
	if (valid_chars.indexOf(chr)>-1 ){return true;}
	if (valid_chars.indexOf(chr)>-1 || evt < 9){return true;}
	return false;
}
</script>

Ela não precisa ter, poderá ter conflitos com o outro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wilnet,

Removi só o script que você informou.

Sinto muito, mas continua não podendo retroceder. O curso só vai para frente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então não sei Teixeira,

 

Aqui a tecla ESPAÇO funciona.

 

Vc queria Bloquear o "@" , "<" , ">" para evitar links.

 

Se for isso, essa função resolve.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem Wilnet. Você já ajudou muito e aprendi. Só tenho que te agradecer a sua competência, paciência etc

Vou postar só essa vez o código como ficou.

Desculpe mas o que me preocupa e "Aqui a tecla ESPAÇO funciona". Então tem algo errado no meu script.

Teria que alterar algo em outra linha?

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Inserir livros na tabelas de livros</title>
<!-- Esse código funciona MERITOS DO FORUM.IMASTER -mEMBRO: Wilnet, dia 29/10/2014-->
<script language="javascript">
function validaForm() {
if (document.formLivro.txtCodigo.value.length <1)
{alert("O campo ISBN não pode ficar em branco. ");
formLivro.txtCodigo.focus();
return false;
}
if (document.formLivro.txtCodCategoria.value.length <1)
{alert("O campo Código da Categoria não pode ficar em branco.");
formLivro.txtCodCategoria.focus();
return false;
}
if (document.formLivro.txtTitulo.value.length  <1)
{alert("O campo Título não pode ficar em branco.");
formLivro.txtTitulo.focus();
return false;
}
if (document.formLivro.txtAutor.value.length <1)
{alert("Ocampo Autor não pode ficar em branco.");
formLivro.txtAutor.focus();
return false;
}
if (document.formLivro.txtPreco.value.length <1)
{alert("O campo Preço não pode ficar em branco.");
formLivro.txtPreco.focus();
return false;
}
if (document.formLivro.txtCapa.value.length <1)
{alert("O campo Imagem da Capa não pode ficar em branco.");
formLivro.txtCapa.focus();
return false;
}
return true;
}
</script> 

<script>
function listarPermitido(e)
{		
	if (document.all){var evt=event.keyCode;}
	else{var evt = e.charCode;}
	var valid_chars = '@<>';	//Insira as teclas Bloqueadas.
	var chr= String.fromCharCode(evt);
	if (valid_chars.indexOf(chr)>-1 ){return false;}
	if (valid_chars.indexOf(chr)>-1 || evt < 9){return false;}
	return true;
}
</script>

</head>
<body>
<form name="formLivro" method="post"  action="ResLab10_1.asp" onsubmit="return validaForm(this);">
Inclusão de Livros<br /><br />
Informe os dados do livro a ser inserido. Os campos com (*) são de digitação obrigatória.<br />

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="20%">ISBN: </td>
<td width="80%"> <input name="txtCodigo"  type="text" />
 *</td>
</tr>

<tr>
<td width="20%">Código da Categoria:</td>
<td width="80%"> <input type="text" name="txtCodCategoria" /> *</td>
</tr>

<tr>
<td width="20%">Título:</td>
<td width="80%"> <input type="text" name="txtTitulo" /> *</td>
</tr>

<tr>
<td width="20%">Autor:</td>
<td width="80%"> <input type="text" name="txtAutor"  /> *</td>
</tr>

<tr>
<td width="20%">Número de páginas:</td>
<td width="80%"> <input type="text" name="txtNPaginas" /></td>
</tr>

<tr>
<td width="20%">Formato:</td>
<td width="80%"> <input type="text" name="txtFormato" /></td>
</tr>

<tr>
<td width="20%">Preço:</td>
<td width="80%"> <input type="text" name="txtPreco" /> *</td>
</tr>

<tr>
<td width="20%">Resenha:</td>
<td width="80%"> <textarea name="txtResenha" rows="5" cols="40" onkeypress="return listarPermitido(event);"/></textarea></td>
</tr>

<tr>
<td width="20%">Lançamento (S/N): </td>
<td width="80%"> <input type="text" name="txtLancamento" /></td>
</tr>

<tr>
<td width="20%">Data Publicação: </td>
<td width="80%"> <input type="text" name="txtDataPub" /></td>
</tr>


<td width="20%"></td>
<td width="80%">
<input type="submit" value="Inserir" name="btInsere" />
<input type="reset" value="Limpa campos" name="btLimpa" />
</td>
</tr>
</table>
</form>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque como caracter ascii, a barra de espaço (ou seja, um espaço em branco) é 32.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teixeira, testei no Chrome, IE, FireFox, Safari e Opera.

 

No FireFox não habitou as Teclas "Espaço" e "Enter".

 

 

Troque a sua Função por esta.

<script>
function listarPermitido(e,args)
{               
        if (document.all){var evt=event.keyCode;}
        else{var evt = e.charCode;}
        var valid_chars = '0123456789abcdefghijlmnopqrstuvxzwykABCDEFGHIJLMNOPQRSTUVXZWYK-_/^~´`.'+args; // criando a lista de teclas permitidas
        var chr= String.fromCharCode(evt);
        if (valid_chars.indexOf(chr)>-1 ){return true;}
        if (valid_chars.indexOf(chr)>-1 || evt < 9){return true;} 
                if (valid_chars.indexOf(chr)>30 || evt <35){return true;}
        return false;
}
</script>

Agora funciona nos Cinco navegadores testados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wilnet,

Graças a Deus e a você funcionou tudo perfeitamente.

Desculpe por tudo, muito obrigado.

Que muitos possam aproveitar desses ensinamentos.

Muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ufa rsrs

 

É isso ai,

 

Pode marcar como Resolvido então.

 

Assim fecha o tópico.

 

Até

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.