web-dev-qa-db-ja.com

フォーム送信時のモジュール/ divの更新[ページの再読み込みなし]

カスタムモジュール内にこの単純な検索フォームがあります。

HTMLフォーム:

<div id="search-form">
<form action="" method="post">
<input type="text" name="roll_no">
<input type="submit" name="submit">
</form>
</div>

PHP:

if(isset($_POST['submit']))
{

// getting text from HTML text box

$roll_no = $_POST['roll_no'];

// executing MySql query to fetch a particular record

$query = $db->getQuery(true);
$query->select('name')
       ->from($db->quoteName('students'))
       ->where($db->quoteName('student_id') . " = " . $db->quote($roll_no));

$db->setQuery($query);
$result = $db->loadResult();
$row = $db->loadrow();

echo $row['0'];

}

完全に機能しますが、ページ全体が更新されます。どういうわけか、特定のモジュール(div要素)のみを更新するようにできますか?.

助けていただければ幸いです。

1
saibbyweb

あなたが望むものを達成するために、あなたはフォームを提出することができません。

Ajax呼び出しを使用する必要があります。

jQuery.ajaxのドキュメントを参照してください

応答を取得し、その応答を反映するようにDOMを変更します。

ここにそれを行う方法の良い例があります:

https://www.ostraining.com/blog/joomla/search-ajax/

2
Piero Marsilio