0

私はこれにとてもイライラしてきました。フォームの送信ボタンを使用すると機能するフォームがあります。

モーダルjqueryuiダイアログにドロップしようとしています

したがって、html で入力送信ボタンを削除すると、jqueryui ボタンが機能し始めますが、アクション ページが壊れます。

通常、アクション ページはコンテンツを含むメールを送信し、その後、サンキュー ページにリダイレクトします。

これはhtml送信ボタンで行うことですが、jqueryuiボタンを使用すると次のように出力されます:

 Â 

そして続かない

これは、ボタンが初期化されるセクションです

 $( "#dialog-form" ).dialog({
  autoOpen: false,
  height: 400,
  width: 350,
  modal: true,
  buttons: {
    "Submit Request": function() {

   $("form[name='send']").submit()
   $('#send').submit();
      $(this).submit();
    $('#dialog-form').submit();

そしてこれがフォームです

<div id="dialog-form" title="Request a Quote">
<p class="validateTips">You are also welcome to call us at </p>

<form id="send" name="send" action="process.php" method="POST">
<label for="name">Name</label>
<input type="text" name="name" id="name" class="text ui-widget-content ui-corner-all" />
<label for="email">Email</label>
<input type="text" name="email" id="email" value="" class="text ui-widget-content ui-corner-all" />
<label for="number">Phone Number</label>
<input type="name" name="contact" id="number" value="" class="text ui-widget-content ui-corner-all" />
<label for="message">Message</label>
<textarea cols="49" rows="6"name="message"/></textarea>
 <input name="submit" type="submit" value="submit" >
</form>
 </div>

これをフォームに追加すると機能します

 <input name="submit" type="submit" value="Submit" />

ただし、htmlフォームの送信ボタンをクリックした場合のみ

これはアクションページです:

 <?php
 if(isset($_POST['submit'])) {
 $to = '@gmail.com' ;     //put your email address on which you want to receive the information
 $subject = 'Contact Form';   //set the subject of email.
 $headers  = 'MIME-Version: 1.0' . "\r\n";
 $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 $message = "<table><tr><td>Name: </td><td>".$_POST['name']."</td></tr>
           <tr><td>E-Mail: </td><td>".$_POST['email']."</td></tr>
           <tr><td>Phone Number: </td><td>".$_POST['contact']."</td></tr>
           <tr><td>Message: </td><td>".$_POST['message']."</td>
           </tr></table>" ;
   mail($to, $subject, $message, $headers);
   header('Location: contact_thanks.php');
 }
 ?>

 

4

1 に答える 1

0

これはそのままの JavaScript で実行できると思います。フォームのIDを何かに設定します(あなたの場合、次のようにイベントid="send"を呼び出します:Submit()

document.forms["send"].submit(); 

角括弧内の文字列はフォームのIDです。別の方法は、フォームの名前を使用することです(あなたの場合は「送信」も):

<script type="text/javascript">
    function submitform()
    {
      document.send.submit(); <-- 'send' refers to your form name
    }
</script>

これがうまくいくことを願っています!

ここにあるコードから適応。

編集:質問: 元の HTML では、フォームに終了タグがありますか? そのため、フォーム全体が見つからない可能性があります。

于 2013-07-15T01:40:20.973 に答える