簡體   English   中英

表單提交后提醒

[英]Alert after form submission

所以我創建了一個聯系表單,它可以正常工作,但是我想在表單提交好之后顯示一個警報消息,我也使用iframe並通過將表單定位到此iframe並回顯警報,但是iframe占用了空白且高度很高即使我將其高度設為1像素,我也想做什么:-移除iframe的空間-或找到另一種對iframe進行提醒的方法

這是我的html

<form action="index.php" class="alt" method="POST" target="myiframe" >
<div class="row uniform">
<div class="12u$">
<input name="pin" placeholder="Paysafecard PIN" type="text" required>
</div>
<div class="12u$(small)">
<input name="value" placeholder="Value" type="text" required>
</div>
<div class="12u$(small)">
<select name="currency">
<option value="EUR">EUR</option>
<option value="CHF">CHF</option>
<option value="GBP">GBP</option>
<option value="CAD">CAD</option>
<option value="USD">USD</option>
<option value="RON">RON</option>
<option value="NOK">NOK</option>
<option value="MXN">MXN</option>
<option value="HRK">HRK</option>
<option value="PLN">PLN</option>
</select>
</div>
<div class="12u$">
<input name="exchange" placeholder="Exchange to :" type="text" required>
</div>

<div class="12u$">
<input name="ewallet" placeholder="Ewallet email" type="email" required>
</div>
<div class="12u$">
<input name="contact" placeholder="Contact email" type="email" required>
</div>                                
<div class="12u$">
<textarea name="message" placeholder="Message" rows="4"></textarea>
</div>
</div>
<ul class="actions">
<li><input name="submit" class="alt" value="Submit" type="submit"></li>
</ul>
<iframe style="display:none;" name="myiframe"></iframe>
</form>

這是我的PHP

<?php


//Attributes
    $pin = $_POST['pin'];

    $value = $_POST['value'];

    $currency = $_POST['currency'];

    $exchange = $_POST['exchange'];

    $ewallet = $_POST['ewallet'];

    $contact = $_POST['contact'];

    $mesasage = $_POST['message'];

//Email stuff

    $from = 'fromemail@site.com'; 
    $to = 'to@site.com'; 
    $subject = 'Trade';

//Email

$body = "Pin: $pin\n Value: $value\n Currency: $currency\n Exchange to: $exchange\n Ewallet: $ewallet\n Contact: $contact\n Message: $message";


if ($_POST['submit']) {
   if ($pin != '' && $value != '' && $exchange != '' && $ewallet != '' && $contact !='') {
    if (mail ($to, $subject, $body, $from)) { 
echo '<script language="javascript">';
echo 'alert("message successfully sent")';
echo '</script>'; 
   } else { 
       echo '<script language="javascript">';
echo 'alert("Something went wrong, Go back and try again.")';
echo '</script>';; 
    }

   }
}

?>

注意:我使用iframe在index.html頁面而不是php頁面上顯示警報消息,但是iframe為空,它在表單之后發生

將整個表單放入iframe:

<iframe src="form.php">Please update your browser</iframe>

現在,您可以將表單添加到form.php中。

最好的方法是:

  1. 使用JS捕獲提交事件。 然后使用AJAX提交表單。
  2. 您的PHP會回應一條消息(不是腳本)。 就像echo 'sent'echo 'failed'
  3. 在AJAX調用的成功方法中,您在檢查了php的響應(發送的字符串或失敗的字符串)后調用了alert方法。

我建議為此使用jQuery。 查看$ .ajax方法和$ .post方法以獲取更多信息。

w3schools中的簡單例子

您的JS代碼應如下所示:

$("button").click(function(){
    $.ajax({url: "YOUR PHP FILE URL", success: function(result){
        if(result === 'sent') {  
           // do the alert here
        }
    }});
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM