なぜInternet Explorer
(どのバージョンでも)POST
右を呼び出さずに常に与えるのだろうかfunction
onSubmit
。refresh
ページの場合にのみ機能します
フォームのコンテンツは、次の方法で動的に生成されPHP/MySQL
ます。
<form id="formQtd" name="formQtd" onSubmit="return validaQtd();" method="post">
<p class="cab">Por favor informe a quantidade de Ovos de Páscoa em estoque em sua loja neste momento:</p>
<div id="produtos">
<?
if ($linhas2 == 0)
echo "<p style='margin-left: 15px'>A pesquisa foi cancelada pelo administrador</p>";
else {
if ($linhas == 0)
echo "<p style='margin-left: 15px'>Nenhum ovo de páscoa cadastrado</p>";
else {
while ($row = mysql_fetch_array($result)) {
$texto = "<div id='thumb'>
";
$texto .= "<img width='100' height='100' src='img_pan/".$row["imagem"]."' />
";
$texto .= "<p id='pNome'>".utf8_encode($row["nome"])."</p>
";
$texto .= " <input type='text' value='' class='inputQtd num' name='".$row["id"]."_prod' id='qtd$row[id]' placeholder='Quant.' />
";
$texto .= "</div>";
echo $texto;
}?>
</div>
<input type="submit" name="submit" id="submitQtd" value="Enviar" style="width:70px;height:25px;clear:both;float:right;border:1px solid #873305; background-color:#300300; color:white; margin:5px 0px 20px 0px" />
</form>
<?
}
}
?>
私のfunction
validaQtd:
function validaQtd() {
var inp = document.forms[0].getElementsByTagName('input');
console.log(inp.length);
for (var i = 0; i < inp.length; i++){
if(inp[i].type == "text"){
if(inp[i].value == ""){
console.log(inp[i].value+" - "+inp[i].id);
alert('Preencha as quantidades em branco');
inp[i].focus();
return false;
}
}
}
}
私のPOST
:
if ($_POST) {
$time = microtime(true);
$micro_time = sprintf("%06d",($time - floor($time)) * 1000000);
$date = new DateTime( date('Y-m-d H:i:s.'.$micro_time,$time) );
$dt = $date->format("Y-m-d H:i:s.u");
$dtAtual = substr($dt, 0, -3);
$upload = 0;
foreach ( $_POST as $nome => $valor ) {
if($nome != "submit" && $valor != "") {
$upload = 1;
//separando o codigo do nome
$prov = explode("_", $nome);
$cdProd = str_replace("_","",$prov[0]);
//inserindo no banco
$queryIns = "INSERT INTO registro_ovos2013 (idusuario, idproduto, quantidade, data) VALUES ('".$cdUsu."', ".$cdProd.", ".$valor.", '".$dtAtual."')";
$resultIns = mysql_query($queryIns);
}
}
if ($upload == 1) {
?>
<script>
alert("Quantidade cadastrada!");
window.location = "?codigo=<?=$cdUsu;?>";
</script>
<?
}
else {
?>
<script>
alert("Preencha os campos em branco");
window.location = "?codigo=<?=$cdUsu;?>";
</script>
<?
}
}