Chcę wyświetlić wprowadzony tekst dopiero po przesłaniu. Textbox nie będzie widoczny.

            <head><title>some title</title></head>
            <body>
            <form method="post" action="">
            <input type="text" name="something" value="<?php
            if(isset($_POST['submit'])) {echo ($_POST['something']);}?>" />
            <input type="submit" name="submit" />
            </form>
            </body>
            <html>
-2
saharabanana 27 czerwiec 2017, 09:16

3 odpowiedzi

Najlepsza odpowiedź

Więc. Odkąd rozumiem teraz, co próbowałeś, oto kod tego, co naprawdę próbujesz:

<body>
    <form name="expense_report" method="POST">
        <div align=center id="submitButtonDiv" >
            <table border=1>
                <tr>
                    <td><?php if(isset($_POST['submit'])) {echo $_POST['txtDate1'];}else {echo '<input type="text" name="txtDate1" size="7" id="datepicker" maxlength="20">';}?></td>
                    <td><?php if(isset($_POST['submit'])) {echo $_POST['txtOR1'];}else{echo '<input type="text" name="txtOR1" size="15" maxlength="20">';}?></td>
                    <td><?php if(isset($_POST['submit'])) {echo $_POST['txtTin1'];}else{ echo '<input type="text" name="txtTin1" size="15" maxlength="20">';}?></td>
                    <td><?php if(isset($_POST['submit'])) {echo $_POST['txtPart1'];}else{ echo '<input type="text" name="txtPart1" size="50" maxlength="80">';}?></td>
                    <td align=right><?php if(isset($_POST['submit'])) {echo $_POST['txtAmt1'];}else{ echo '<input type="text" name="txtAmt1" size="12" maxlength="20" onChange="add_amount(this.form)">';}?></td>
                </tr>
            </table>
        </div>
        <?php
        if(empty($_POST['submit'])) {
            echo'
            <div align=center id="progressBar" style="display:block">
                <input type="submit" name="submit"  />
                <input type=reset>
            </div>';
        }
        ?>
    </form>
</body>

Testowałem to, działa. Cóż, usunęłam część JavaScript, ale ponieważ nie było tego koniecznego (możesz zrobić wszystko z zwykłą PHP), myślę, że jest dobrze.

Należy pamiętać, że nie możesz mieć funkcji onSubmit i jednocześnie action="". Jak widzisz, usunęłam onSubmit, a także action="" od czasu jego wysłania na samą stronę. Jeśli chcesz opublikować dane na inny skrypt, po prostu dodaj action="link_to_script.php" Acation w nagłówku formularza.

Jeśli nadal masz jakieś pytania lub coś nie działa, zapytaj się. :)

0
Twinfriends 27 czerwiec 2017, 09:39
<script type="text/javascript"> 
function onSubmitButton(){ 
  document.getElementById('submitButtonDiv').style.display = "block"; 
  document.getElementById('progressBar').style.display = "none"; 
  return false; 
}
</script> 
<body>
<form name="expense_report" method="POST" onSubmit="return onSubmitButton()" action="sample.php">
<div align=center id="submitButtonDiv" >
<table border=1>
<tr>
<td><?php if(isset($_POST['submit'])) {echo $_POST['txtDate1'];}else {echo '<input type="text" name="txtDate1" size="7" id="datepicker" maxlength="20">';}?></td>
<td><?php if(isset($_POST['submit'])) {echo $_POST['txtOR1'];}else{echo '<input type="text" name="txtOR1" size="15" maxlength="20">';}?></td>
<td><?php if(isset($_POST['submit'])) {echo $_POST['txtTin1'];}else{ echo '<input type="text" name="txtTin1" size="15" maxlength="20">';}?></td>
<td><?php if(isset($_POST['submit'])) {echo $_POST['txtPart1'];}else{ echo '<input type="text" name="txtPart1" size="50" maxlength="80">';}?></td>
<td align=right><?php if(isset($_POST['submit'])) {echo $_POST['txtAmt1'];}else{ echo '<input type="text" name="txtAmt1" size="12" maxlength="20" onChange="add_amount(this.form)">';}?></td>
</tr></table>
</div>
<div align=center id="progressBar" style="display:block">
<input type="submit" name="submit"  />
<input type=reset>
</div>
</body>
0
saharabanana 27 czerwiec 2017, 07:48

Prawie osiągnąłeś to samodzielnie ... masz swoją konstrukcję kontrolną, więc nie jestem taki pewien, czy napisałeś kod samodzielnie, gdybyś mógł to zrobić do tej pory, powinieneś także być w stanie znaleźć rozwiązanie za twój problem. W każdym razie, jak wspomniano, po prostu użyj instrukcji IF-Else i drukować tylko całą formę, jeśli zostanie ustawiony.

<html>
    <head>
        <title>Some title</title>
    </head>
    <body>
    <?php
    if(isset($_POST["submit"])) {
        echo $_POST["something"];
    }
    else {
        echo'
        <form method="POST">
            <input type="text" name="something">
            <input type="submit" name="submit" Value="Send">
        </form>';
    }
    ?>
    </body>
</html>
0
Twinfriends 27 czerwiec 2017, 06:48