0
I’m working on a page for web and I would like to know why my code does not work. Simply. It should print an "Alert" if the conditions of the if are true but this is not happening.
//valida dados com javascript
function verifica(objeto) {
// convertendo string para int
objeto = parseInt(objeto);
if ( objeto.value<1 )
{
alert("O número de empresas deve ser maior que 0.");
}
}
body {
background-color: #C1CDC1;
}
p {
color: #660066;
font-size: x-large;
font-family: Calibri;
}
.auto-style1 {
text-align: center;
margin-right: 10px;
margin-left: 10px;
}
</br> </br> </br>
<p class="auto-style1"> Um conjunto de empresas ligadas umas às outras forma uma rede de relacionamentos. </br>
Para medir o grau de conectividade da rede, use a calculadora abaixo:</p>
<!-- formulário -->
<form name="form" id="form" action="" method="get">
<table cellpadding="0" cellspacing="0" border="1" align="center">
<tr>
<td>Digite o número de empresas da rede.</td>
<td><input type="text" name="txt_empresas" id="txt_empresas" value=""/> </td>
</tr>
<tr>
<td> Digite o número de conexões da rede.</td>
<td><input type="text" name="txt_conexoes" id="txt_conexoes" value=""/></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="button" name="btn_calcular" id="btn_calcular" value="Calcular"
onsubmit="verifica(document.form.txt_empresas);" /></td>
</tr>
</table>
</form>
I made some suggested changes here and I still can’t reach the expected result. Alert does not appear:
//valida dados com javascript
function verifica(form1) {
if ( (form1.txt_empresas.value == "") || (!isNum(form1.txt_empresas.value)) || (form1.txt_empresas.value <1) ) {
alert ("Preencha o número de empresas corretamente.");
form1.txt_empresas.focus();
return false;
}
if ( (form1.txt_conexoes.value == "") || (!isNum(form1.txt_ligacoes.value)) || (form1.txt_conexoes.value <1) ) {
alert ("Preencha o número de ligações corretamente.");
form1.txt_conexoes.focus();
return false;
}
return true;
}
function isNum(v) {
var ValidChars = "0123456789";
var isNumber=true;
var Char;
for (i=0; i< v.length && isNumver ==true; i++) {
Char = v.charAt(i);
if (ValidChars.indexOf(Char) == -1) {
IsNumber = false;
}
}
return isNumber;
}
body {
background-color:#CDC8B1;
}
p {
color: #660066;
font-size: x-large;
font-family: Calibri;
}
.auto-style1 {
text-align: center;
margin-right: 10px;
margin-left: 10px;
}
form {
align: center;
}
<br/> <br/> <br/>
<p class="auto-style1"> Um conjunto de empresas ligadas umas às outras forma uma rede de relacionamentos. <br/>
Para medir o grau de conectividade da rede, use a calculadora abaixo:</p>
<!-- formulário -->
<form name="form1" id="form1" action="processa.php" method="get" onsubmit="return verifica(this);">
<table cellpadding="0" cellspacing="0" border="1" align="center">
<tr>
<td>Digite o número de empresas da rede.</td>
<td><input type="text" name="txt_empresas" id="txt_empresas" value=""/> </td>
</tr>
<tr>
<td> Digite o número de conexões da rede.</td>
<td><input type="text" name="txt_conexoes" id="txt_conexoes" value=""/></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="btn_calcular" id="btn_calcular" value="Calcular" /></td>
</tr>
</table>
</form>
I noticed that one was missing
}
to close the functionverifica
. It was just a mistake when it came to putting the question, or your code is just like that?– mgibsonbr
@Giannini, I edited your question to organize your HTML, JS and CSS.
– Tobias Mesquita