Jump to content


Everton da Rosa

Member Since 02/02/2007
Offline Last Active 29/07/2008, 16:06
-----

Topics I've Started

Erro Com Submit(): Acesso Negado

02/02/2007, 15:28

Olá:

Estopu escrevendo um script para obrigar o preenchimento de campos de formulário. Ele funciona perfeitamente nesta questão, porém ao fazer o submit() ele retorna o seguinte erro:

Linha: 4
Caractere: 2
Erro: Acesso negado
Código: 0
url:file://C:Documents and Settingslicit02Desktopformform.htm

Já tentei várias maneiras de submit e testei todas as variáveis mas não consegui detectar o erro e muito menos encontrar respostas na internet.

Meu código é:
Página form.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>JavaScript para verificar preenchimento de campos em formulário</title>
<script src="autocheck.js" type="text/javascript"></script>
</head>

<body>
<form id="form1" name="form1" action="teste.htm" method="post">
Texto: <input name="texto1" type="text" size="50" id="texto1"><br>
Senha: <input name="senha1" type="password" size="50" id="senha1"><br>
Oculto: <input name="oculto1" type="hidden" size="50" id="oculto1" value="valor1"><br>
Arquivo: <input name="arquivo1" type="file" size="50" id="arquivo1"><br>
<input name="radio1" type="radio" value="valor1" id="radio1">Valor1<br>
<input name="radio1" type="radio" value="valor2" id="radio2">Valor2<br>
<input name="radio1" type="radio" value="valor3" id="radio3">Valor3<br>
<input name="checkbox1" type="checkbox" value="valor1" id="checkbox1">Valor1<br>
<input name="checkbox1" type="checkbox" value="valor2" id="checkbox2">Valor2<br>
<input name="checkbox1" type="checkbox" value="valor3" id="checkbox3">Valor3<br>
<input name="botao1" type="button" value="Enviar" onClick="checkForm('form1')">
</form>
</body>
</html>

Página form.js
// JavaScript Document
function submeter(form){
form.submit();
}

function checkRadio(radio){
var n=radio.length;
var status=false;
for(var i=0;i<n;i++){
var obj=document.getElementById(radio[i]);
if(obj.checked==true){
status=true;
break;
}else{
status=false;
}
}
if(status==false){
alert("Você precisa escolher uma opção!");
exit();
}
}

function checkBox(box){
var n=box.length;
var status=false;
for(var i=0;i<n;i++){
var obj=document.getElementById(box[i]);
if(obj.checked==true){
status=true;
break;
}else{
status=false;
}
}
if(status==false){
alert("Você precisa marcar pelo menos uma opção!");
exit();
}
}

function checkText(e){
var v=e.value;
var n=e.name;
var id=e.id;
var obj=document.getElementById(id);

if(v==""){
alert("O campo "+n+" precisa estar precisa ser preenchido!");
obj.focus();
exit();
}
}

function checkForm(idForm){
var objForm=document.getElementById(idForm);
var nElement=objForm.length;
var Elements=objForm.elements;
var radio=new Array();
var box=new Array()
var iar=0;
var iab=0;

for(var i=0; i<nElement; i++){
var eType=Elements[i].type;
switch(eType){
case "text":
checkText(Elements[i]);
break;
case "password":
checkText(Elements[i]);
break;
case "hidden":
checkText(Elements[i]);
break;
case "file":
checkText(Elements[i]);
break;
case "radio":
radio[iar]=Elements[i].id;
iar++;
break;
case "checkbox":
box[iab]=Elements[i].id;
iab++;
break;
case "button":
break;
case "submit":
break;
case "reset":
break;
default:
alert("Tipo de campo desconhecido! Id do campo: "+Elements[i].id+". Tipo retornado: "+eType);
break;
}
}
checkRadio(radio);
checkBox(box);
submeter(objForm);
}

IPB Skin By Virteq