2012-03-26 6 views
1

私はWordPress theme Studio8を使用しており、カスタムURL書き換えによって読み込まれたページにカスタムフォームを作成しています。jQuery、AJAX、Formがロードされていますか?

問題は、HTMLが有効であるとしながら、あるフォームの外

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

を移動$.load('URL Selelcor') jQueryの経由ページがロードされているエラーなし、と。

私のフォームは、次のようになります。

<form attributes....> 
    .... 
    <input attributes .... /> 
    .... 
    <input type="submit" id="submit" value="Submit" /> 
</form> 

とHTMLの結果はそのようなものです:

<form attributes....> 
    .... 
    <input attributes .... /> 
    .... 
</form> 

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

その問題を解決する方法上の任意のアイデア?


私はその問題を解決するために考えています別の方法は、フォームがロードされているかどうかを確認することですし、フォームを送信ボタンをcontainaない場合はJavaScriptでの追加します。

問題は、AJAXの読み込み後にフォームが存在するかどうかを確認する必要があることです。例では、フォーム要素の他のイベントのために、私は、フォームはAJAXのロード後にボタンを提出している場合、私がチェックすることができますどのように私の場合は

$('element_selector).live('event_name', function(){}); 

を使うのか?これは、既存のボタンは、フォームを提出すべきである

$(document).ready(function() 
{ 
     $('input[type="submit"]').live("click",function() 
     { 
      $('form').submit(); 
     }); 
}); 

+0

実際のjQueryのように、詳細をここに含める必要があります。フォームがすでにページにある場合 - なぜそれを再度ロードしていますか? – ManseUK

+0

関連するすべてのHTML、AJAX読み込み部分と読み込みを行うページの両方を投稿します。 –

+0

WordPressテーマはAJAXベースです。このテーマは私によって作られたものではないので、なぜAJAXに基づいているのか分かりません:)。一般的なアイデアは、ヘッダーとフッターを使ってテーマページを作成し、AJAXに対応するページをAJAXでロードすることです。問題は、AJAXが私のフォームに問題を起こすことです:( –

答えて

1

奇妙は、ここにかかわらず、アイデアです。 idをページに追加して、ページ上のすべてのフォームを送信しないようにすることができます。

$(document).ready(function() 
{ 
     if(!$("form").find(':submit').attr("value")) 
     { 
      $("form").append("<input type=\"submit\" value=\"Submit!\" />"); 
     } 
    }); 

this jsFiddleを参照してください:あなたが使用できるかどう

は、それがあるかどうかを確認し、それを追加します。

関連する問題