2012-01-07 7 views
1

私は自分のサーバ側の言語にPHPを使用しており、結果を返すフォームを持っています。現在jqueryを使用して結果を取得し、ページの一部を更新しています。これはjqueryなしでもできますか?もしそうなら、いい例がありますか?Javaスクリプトなしでページの一部だけを読み込むことはできますか?

私の現在のjqueryのコードは次のようになります。私はJavaスクリプト無料の代替を見つけようとしているが、私は怖い

$.post("search_basic_results.php", $("#profile_form_id").serialize(), 
    function(data) {  
     $('#search_results').html(data); 
    }); 
}); 

私は再びページ全体をリロードする必要があります。

答えて

3

これはjqueryなしで行うことができますか?

はい。 jQueryは単なるライブラリです。これは、少ないコードで作業を行い、ブラウザ間の違いを補うヘルパー機能を提供します。

他にもライブラリがあります(私はYUI3が好きです)。jQueryのソースコードは利用可能ですので、舞台裏で何をしているのか分かります。

私はあなたがクライアント側のプログラミングなしでブラウザでドキュメントを編集することはできませんJavaScriptの無料の代替

を見つけようとしています。 JavaScriptは、ブラウザDOMを操作するために唯一広くサポートされている言語です。

でも、iframeを使用できます。

+0

ヘッダーと検索フォームを再読み込みしたくない場合は、この方法をお勧めしますか? – Paul

+0

ヘッダーと検索フォームの場合は、リロードすることをお勧めします。それらは比較的少量のHTML(他のものはすべてキャッシュ可能)とコスト(ブックマークの解除、リンク共有などを含む)が利益を大きく上回ります。 – Quentin

+0

残念ながら、私のヘッダーは呼び出されるたびにログインしたユーザーのイメージを読み込みます。私はこれがキャッシュされないと仮定しているし、毎回DBへの呼び出しが必要です。 Twitterに表示されるヘッダに似ています。ヘッダーを保持するためにiframeを使用するかもしれないように見えます。 – Paul

1

これはjqueryなしで行うことができますか?

確かに、普通の古いJavaScriptのAJAXを使用できます。少しのコードを書く必要があります。しかし、jQueryの代わりにクロスブラウザーを使用しているときに、なぜこれを行うのでしょうか?

javascriptなしでDOMを操作する限り、これはページ全体を再読み込みせずに行うことはできません。

1

ページを再読み込みする際の問題点は何ですか? Javascriptをそのことはできませんなし

if (count($_POST) == 0) 
{ 
    // var initialisation 
    $input_one = ''; 
    $input_two = ''; 
    // result wont be displaied 
    $display_search = false; 
} 
else 
{ 
    // this bit keeps track of the input fields 
    $input_one = $_POST['input_one']; 
    $input_two = $_POST['input_two']; 
    // result will be displayed 
    $display_search = true; 
    // do some stuff that search_basic_results.php would do 
} 
?> 
<form action="" method="post"> 
    <input name="input_one" type="text" value="<?=$input_one?>"/> 
    <input name="input_two" type="text" value="<?=$input_two?>"/> 
</form> 
<? if ($display search == true): ?> 
<!-- display stuff you want to display here/$('#search_results').html(data); equivalent --> 
<? endif ?> 
+0

実際に問題はありません。ページを更新する必要があるたびに、ヘッダーと検索フォームが点滅しない点が気に入っています。少しスムーズに見えますが、残念ながらjavaスクリプトが無効になっているとうまくいきません。 – Paul

+0

JSを使用するページにリダイレクトする場合、ブラウザがJSを使用できるかどうかを確認できます。しかし、個人的には私のブラウザのフラッシュがほんの数秒間見えるのが好きです:) – Uboonto

2

ここには古いスクールのJavascriptコードがあります。

if (window.XMLHttpRequest) 
{// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
} 
else 
{// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.open("POST","search_basic_results.php",false); 
xmlhttp.send(); 
xmlDoc=xmlhttp.responseXML; 
関連する問題