douzong2206 2015-02-01 16:05
浏览 9
已采纳

在提交表单之前如何隐藏php页面的一部分[关闭]

I made this script in php but I need hide the two last tables until "Procurar uma Letra" is clicked.. How I do that?
Or maybe if $_POST[letra] is null define it to "EmptyLetter" Word or something else...

I tried a couple of things but didn't worked. How can I do that??

<html>
<head>
<script>
function validateForm(form) {
    var x = document.forms["myForm"]["nome"].value;
    if (x==null || x=="") {
        alert("Nome a Inserir, deve ser preenchido");
        return false;
    }

    var y = document.forms["myForm"]["sexo"];
    if ( ( y[0].checked == false ) && ( y[1].checked == false ) ) {
        alert ( "Por favor escolha: Nome Masculino ou Feminino" ); 
        return false;

    }
}
</script>
</head>
<body>
<h1>BASE DE DADOS DE NOMES PR&Oacute;PRIOS</h1>
<br>
<h3>Enviar um nome para a base de dados</h3>

<form name="myForm" action="insert.php" onsubmit="return validateForm(this.form)" method="post">
Nome a inserir: <input type="text" name="nome" /><br><br>
<input type="radio" name="sexo" value="m" /> Nome Masculino&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="sexo" value="f" /> Nome Feminino <br><br>
<input type="submit" value="Enviar">
</form>

<form action="index.php" method="post">
Ir para a letra:    <input type="text" name="letra" />
<input type="submit" value="Procurar Letra">
</form>

<br><br><br>

</body>
</html>




<?php
$servername = "localhost";
$username = "username";
$password = "password";
$database ="nomes";

$con=mysqli_connect($servername,$username,$password,$database);

$masculinos = mysqli_query($con,"SELECT nome FROM nomes WHERE sexo = 'm';");
$femininos = mysqli_query($con,"SELECT nome FROM nomes WHERE sexo = 'f';");
$letramasculinos = mysqli_query($con,"SELECT nome FROM nomes WHERE nome LIKE '$_POST[letra]%' AND sexo = 'm';");
$letrafemininos = mysqli_query($con,"SELECT nome FROM nomes WHERE nome LIKE '$_POST[letra]%' AND sexo = 'f';");

echo "<table style='display: inline-block;' width='150px' border='1'>
<tr>
<th>Nomes Masculinos</th>
</tr>";

while($row = mysqli_fetch_array($masculinos))
{
echo "<tr>";
echo "<td><center>" . $row['nome'] . "</center></td>";
echo "</tr>";
}
echo "</table>";

echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

echo "<table style='display: inline-block;' width='150px' border='1'>
<tr>
<th>Nomes Femininos</th>
</tr>";

while($row = mysqli_fetch_array($femininos))
{
echo "<tr>";
echo "<td><center>" . $row['nome'] . "</center></td>";
echo "</tr>";
}
echo "</table>";

echo "<table style='display: inline-block;' width='150px' border='1'>";

echo "<br><br><br>";

while($row = mysqli_fetch_array($letramasculinos))
{
echo "<tr>";
echo "<td><center>" . $row['nome'] . "</center></td>";
echo "</tr>";
}
echo "</table>";

echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

echo "<table style='display: inline-block;' width='150px' border='1'>";

while($row = mysqli_fetch_array($letrafemininos))
{
echo "<tr>";
echo "<td><center>" . $row['nome'] . "</center></td>";
echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>
  • 写回答

2条回答 默认 最新

  • drjun1994 2015-02-01 16:22
    关注

    Ok so the resolved code so everyone can see:

    if(isset($_POST['submit'])){
         //tables will shown only after submitted
    }
    

    And also the submit form input must be declared like this:

    <input type="submit" name="submit" value="Submit">
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line