Buenas, tengo un problemilla a la hora de hacer una inserción en una base da datos.
Realizo una validación con JS, me dice que las cosas estan mal pero no se corta el proceso, sino que te advierte pero raliza la inserción a pesar de todo.
Os dejo el codigo a ver si alguien sabe que puede ser:
apc.php
Código PHP:
<?
include 'php/basepcim.php'; //este fichero hace la inserción en la base de datos cuando hay un submit
?>
<script type="text/javascript" language="javascript" src="../js/apc.js">
<form id="formulario" method="post" action="apc.php" onSubmit="return ValidaPC(this)" >
Nom del component:<input name="component" maxlength="32" type="text" value=""><br>
IP del component:<input name="IP" maxlength="25" type="text" value=""><br>
Direccio fisica ethernet (MAC):<input name="MAC" maxlength="25" type="text" value=""><br>
Comentaris:<textarea name="observacion" rows="3" cols="20"></textarea><br>
Padre:<SELECT name="pare">
<?
include 'php/basepcim.php';
$buscar = pg_query("SELECT id FROM x1d10_router");
while ($dades = pg_fetch_object($buscar)){
print("<option value=\"$dades->id\">$dades->id</option>");
}
?>
</SELECT>
<input type="submit" name="enviar" value="Send"/>
<input type="button" onclick="formReset()" value="Reset">
<input type="button" onclick="llenarPC(this.formulario)" value="Fill" />
apc.js
Código PHP:
function ValidaPC() {
var macv=/^[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-zf]{2}:[0-9a-zf]{2}$/;
var ipv=/^(([0|1]d{0,2})|2([0-4]|5(?![6-9]))?[0-9]?|d{0,2}).(([0|1]d{0,2})|2([0-4]|5(?![6-9]))?[0-9]?|d{0,2}).(([0|1]d{0,2})|2([0-4]|5(?![6-9]))?[0-9]?|d{0,2}).(([0|1]d{0,2})|2([0-4]|5(?![6-9]))?[0-9]?|d{0,2})$/;
var compov=/^w[.A-Za-z0-9]{0,28}$/;
var macform=formulario.MAC.value;
var ipform=formulario.IP.value;
var compo=formulario.component.value;
var OKMAC = macv.exec(macform);
var OKIP = ipv.exec(ipform);
var OKcompo = compov.exec(compo);
var OK=true;
if(!OKMAC){
alert('MAC incorrecta. El seu format ha de ser xx:xx:xx:xx:xx:xx, on x pot ser qualsevol digit hexadecimal');
OK=false;
}
if(!OKcompo){
alert('Nom no permès. El primer caracter ha de ser un alfanumeric, el nom pot incloure . i _ i la longitud maxima es 29');
OK=false;
}
if(!OKIP){
alert('IP incorrecta. El seu format ha de ser x.x.x.x, amb x menor que 256');
OK=false;
}
if(OK=="true"){
alert('Dades correctes');
return OK;
}
else{
alert('Dades incorrectes');
return OK;
}
}
Bueno y