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) 将执行并将数据从输入字段名称传递:'searchinput' 到php 文件,然后该 php 文件将处理数据到 mysql 并查看脚本传递到 php 文件的数据是否与 mysql 记录匹配,然后如果匹配,则 php 文件将传递该数据返回进入脚本,然后脚本会将数据输出到#searchpage div。

问题:

“所有都不起作用”和 go 按钮上的 onclick 功能不起作用“

请帮忙,我坚持这个。先感谢您。

4

3 回答 3

1

首先,有一个名为Jsfiddle的网站。将您的代码粘贴到网站中,然后将 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

考虑使用加载而不是发布
(并删除表单标签或将输入更改为 textarea,否则按 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 回答