1

なぜInternet Explorer(どのバージョンでも)POST右を呼び出さずに常に与えるのだろうかfunction onSubmitrefreshページの場合にのみ機能します

フォームのコンテンツは、次の方法で動的に生成されPHP/MySQLます。

<form id="formQtd" name="formQtd" onSubmit="return validaQtd();" method="post">
        <p class="cab">Por favor informe a quantidade de Ovos de P&aacute;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&aacute;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>  
    <?
                            }
                }
    ?>

私のfunctionvalidaQtd:

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>
        <?
    }
}
4

2 に答える 2