0

わかりました、私はこのコードを持っています

私の頭の中のスクリプト。

function checkForm(e) {
if (e.keyCode == 13) {
    $('#de').hide()

    $.post('search.php', { name : search.searchinput.value() }, function(output) {
    $('#searchpage').html(output).show();
});

}
}

これはhtml部分です:

<form name="search" id="searchbox">
    <input name="searchinput" value="search item here..." type="text"   id="inputbox" onkeydown="checkForm(event);" onclick="clickclear(this, 'search item   here...')" onblur="clickrecall(this,'search item here...')"/><input id="submit" value=""   OnClick="checkForm(event);" type="submit"/>
</form>
<div id="searchpage"></div>

これは、スクリプトがデータを渡す php ファイルです。

<?
$name= $_POST['name'];

$con=mysql_connect("localhost", "root", "");

if(!$con)
{
die ('could not connect' . mysql_error());
}
mysql_select_db("juliver", $con);

$result = mysql_query("SELECT * FROM items WHERE title='$name' OR description='$name'     OR type='$name'"); 
$vv = "";
while($row = mysql_fetch_array($result))
{
$vv .= "<div id='itemdiv2' class='gradient'>";
$vv .= "<div id='imgc'>".'<img src="Images/media/'.$row['name'].'" />'."<br/>";
$vv .= "<a href='#?w=700' id='".$row['id']."' rel='popup' class='poplight'>View full</a>"."</div>";
$vv .= "<div id='pdiva'>"."<p id='ittitle'>".$row['title']."</p>";
$vv .= "<p id='itdes'>".$row['description']."</p>";
$vv .= "<a href='".$row['link']."'>".$row['link']."</a>";
$vv .= "</div>"."</div>";
}

echo $vv;
mysql_close($con);
?>

これがシーンライオです。ユーザーはテキストボックス名に「searchinput」というテキストを入力します。ユーザーがエンターキーを押すたびに、関数 checkForm(e) が実行され、入力フィールド name:「searchinput」からデータが渡されます。 phpファイルとそのphpファイルはデータをmysqlに処理し、スクリプトがphpファイルに渡したデータがmysqlレコードと一致するかどうかを確認し、一致する場合はphpファイルがそのデータを返しますスクリプトに入力すると、スクリプトはデータを #searchpage div に出力します。

問題:

「すべてが機能していません」および移動ボタンの onclick 機能が機能していません」

助けてください、私はこれにこだわっています。前もって感謝します。

4

3 に答える 3

1

まず、Jsfiddleという Web サイトがあります。コードを Web サイトに貼り付けてから、ここに URL を貼り付けます。これにより、投稿がより読みやすくなります。

ここで、jQuery を使用している場合、なぜ onkeydown および onclick イベントに依存しているのですか? jQuery の live 関数を使用することをお勧めします。コードを変更しました。こちらをご覧ください。onclick、onfocus、onblurなどの他のイベントにライブ機能を使用できます。これにより、HTML コードがよりクリーンで読みやすくなります。

于 2012-04-05T06:57:45.780 に答える
0

フォームがデータを送信するのを停止する必要があります。 onsubmit="return (checkForm(e))" のようなものを使用してください

構文エラーがないか再確認します。たとえば、この行 $('#de').hide() にセミコロンがありません

于 2012-04-05T06:59:41.800 に答える
0

post の代わりに load を使用することを検討してください
(フォームタグを削除するか、入力をテキストエリアに変更するか、Enter キーを押すとフォームが送信されます)

$('#inputbox').keypress(function(event){
 var keycode = (event.keyCode ? event.keyCode : event.which);
 if(keycode == '13')
  {
    $('div#searchpage').load('search.php',{name: $(this).val()});   
  }
});
于 2012-04-05T06:56:07.070 に答える