php - 我如何在提交时显示错误并在页面上保留 DIV(特殊框)

标签 php javascript html css

我想在提交表单后以某种方式进行。表单恢复为包含表单的 div 特殊框,说明所有错误。这意味着我不必单击按钮重新打开以查看表单中的错误。有什么方法可以解决我的代码?非常感谢!!!!!!

CSS:

  <!DOCTYPE html>
  <html>
  <head>
  <style type="text/css">

  div#overlay {
    display: none;
    z-index: 2;
    background: #000;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    text-align: center;
}
div#specialBox {
    display: none;
    position: relative;
    z-index: 3;
    p.padding;

    padding-top:25px;
    padding-bottom:25px;
    padding-right:50px;
    padding-left:50px;

    margin: 150px auto 0px auto;
    width: 500px; 
    height: 500px;
    overflow:auto;
    background: #FFF;
    color: #000;
}
div#wrapper {
    position:absolute;
    top: 0px;
    left: 0px;
    padding-left:24px;
}
</style>
<script type="text/javascript">
function toggleOverlay(){
    var overlay = document.getElementById('overlay');
    var specialBox = document.getElementById('specialBox');
    overlay.style.opacity = .8;
    if(overlay.style.display == "block"){
        overlay.style.display = "none";
        specialBox.style.display = "none";
    } else {
        overlay.style.display = "block";
        specialBox.style.display = "block";
    }
}
</script>
</head>
<body>
<!-- Start Overlay -->
<div id="overlay"></div>
<!-- End Overlay -->
<!-- Start Special Centered Box -->
<div id="specialBox">
<p>Create Order
  <p><?php
$timestamp=time(); require_once 'start.php';
?>

HTML:

   <form action="tradeform.php" method="post" > 
    <input type="hidden" name="formSubmitted" value="true">
    <?php echo $message; ?>
    <?php ?>
    <?php if ($haveErrors || $userArriveByClickingOrDirectlyTypeURL) : ?>
        <fieldset>
    <p>Symbol : <select name = "selection" id="selection">
    <option disabled = "disabled" selected = "selected"> Choose one </option>
    <option value="eur/usd">EUR/USD</option>
    <option value="usd/jpy">USD/JPY</option>
    <option value="usd/cad">USD/CAD</option>
    <option value="eur/jpy">EUR/JPY</option>
    <option value="eur/chf">EUR/CHF</option>
    <option value="gbp/usd">GBP/USD</option>
    <option value="aud/usd">AUD/USD</option>
    <option value="usd/chf">USD/CHF</option>

    </select><font color="red"><?php echo $selectionError?></font></p>
            </fieldset> <fieldset>
    <p> Date : <input type="datetime" value="<?php echo date("Y-m-d ",$timestamp); ?>"READONLY name="date"/></p>
    <p> Type : <input type="radio" name="type" value="buy">Buy <input type="radio" name="type" value="sell">Sell<font color="red"><?php echo $typeError;?></font></p>
    <p> Size : <input type="number"pattern="[0-9]+([\.|,][0-9]+)?" step="0.01"name="size"/><font color="red"><?php echo $sizeError?></font></p>
    <p> Bid Price : <input id="bidprice" READONLY name="bidprice" type="text" value=""> <font color="red"><?php echo $bidpriceError?></font></p>
    <p>Offer Price<input id="offerprice" READONLY name="offerprice" type="text" value=""><font color="red"><?php echo $offerpriceError?></font> </p>
    <p> Stop Loss : <input type="number"step="any" name="stoploss"/><font color="red"><?php echo $stoplossError?></font></p>
    <p> Take Profit : <input type="number"step="any"name="takeprofit"/><font color="red"><?php echo $takeprofitError?></font></p>
    </fieldset>
    <div align="center">
    <input type="submit" value="Submit"/>
    </div>
    <?php endif; ?>
    </form>

最佳答案

我建议为此使用 JQuery

$('input[type=submit]').click(function(e) {
    e.preventDefault();
    $.post("tradeform.php", $(this).parents('form').serialize(), function(response) {
        *INSERT RESPONSE HANDLER HERE*
    });
});

显然,通过按钮替换输入类型提交会更简洁,以避免不得不使用 preventDefault()。

您的处理程序可以显示错误消息、隐藏表单或执行您希望它执行的任何其他操作。由于您的表单相对简单,您是否考虑过使用 HTML5 表单中内置的错误消息? https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms_in_HTML

关于php - 我如何在提交时显示错误并在页面上保留 DIV(特殊框),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18062817/

相关文章:

javascript - JQuery onClick - 单击某个区域时面板是否从 map 下方滑出?

html - 倾斜/倾斜的表头

javascript - 如何获取 jQuery 生成的单选按钮的值

javascript - 通过传递选定的下拉列表值来获取第三个下拉列表的结果

javascript - Google Apps 脚本库和脚本分发

PHP/MYSQL 通过 ID 只获取一列值

javascript - 雅虎 OAuth2 隐式授权流程不适用于新的雅虎应用程序

asp.net - 这是什么意思?

php - 是否可以在安装我的包后自动执行 `composer dump-autoload`?

php - 检查两个id是否相同