Javascript 在提交时执行函数
我的react应用程序上有一个简单的搜索框。该框应允许用户输入一个短语,然后在按下enter键时执行另一个Javascript 在提交时执行函数,javascript,html,reactjs,Javascript,Html,Reactjs,我的react应用程序上有一个简单的搜索框。该框应允许用户输入一个短语,然后在按下enter键时执行另一个react.js函数。我尝试了各种组合(将框放入表单,而不是表单,onSubmit,等等),但当用户输入信息并按enter键时,我似乎无法阻止页面“重新加载” HTML: 我只需要在用户在搜索框中键入enter键时运行searchForMatches()函数 谢谢。编辑 是的,您可以通过元素中的onKeyPress事件按下该键 检查代码段 var Comp=React.createClas
react.js
函数。我尝试了各种组合(将框放入表单,而不是表单,onSubmit
,等等),但当用户输入信息并按enter键时,我似乎无法阻止页面“重新加载”
HTML:
我只需要在用户在搜索框中键入enter键时运行searchForMatches()
函数
谢谢。编辑
是的,您可以通过元素中的onKeyPress
事件按下该键
检查代码段
var Comp=React.createClass({
搜索引擎(e){
var value=String.fromCharCode(e.charCode)
这是我的国家({
按下键:值
})
},
getInitialState(){
返回({
按下键:“”
})
},
render(){
返回(
)
}
})
ReactDOM.render( ,document.getElementById('foo'))
编辑
是的,您可以通过元素中的onKeyPress
事件按下该键
检查代码段
var Comp=React.createClass({
搜索引擎(e){
var value=String.fromCharCode(e.charCode)
这是我的国家({
按下键:值
})
},
getInitialState(){
返回({
按下键:“”
})
},
render(){
返回(
)
}
})
ReactDOM.render( ,document.getElementById('foo'))
有关搜索选项,您可以执行以下操作:
HTML:
<div class="pull-right" style='display:block;'>
<span style="color:red"><strong>Search Products</strong></span>
<form method="get">
<input name="keysearch" value="" placeholder="name" id="keysearch" type="text" class="form-control">
<span id="loading"></span>
</form>
<div id="result"></div>
</div>
搜索产品
使用的脚本:
<script>
$(document).ready(function(){
var req = null;
$('#keysearch').on('keyup', function(){
var key = $('#keysearch').val();
if (key && key.length > 0){
$('#loading').css('display', 'block');
if (req)
req.abort();
req = $.ajax({
url : 'fetch_records.php',
type : 'GET',
cache : false,
data : {
keysearch : key,
},
success : function(data)
{
console.log(data)
if (data)
{
$('#loading').css('display', 'none');
$("#result").html(data).show();
$("#result").css('position', 'absolute');
$("#result").css('z-index', '1');
// style='display:block; position :absolute; z-index:1'
}
}
});
}
else
{
$('#loading').css('display', 'none');
$('#result').css('display', 'none');
}
});
});
</script>
$(文档).ready(函数(){
var-req=null;
$('#keysearch')。on('keyup',function(){
var key=$('#keysearch').val();
如果(key&&key.length>0){
$('加载').css('显示','块');
如果(请求)
请求中止();
req=$.ajax({
url:“fetch_records.php”,
键入:“GET”,
cache:false,
数据:{
钥匙搜索:钥匙,
},
成功:功能(数据)
{
console.log(数据)
如果(数据)
{
$('加载').css('显示','无');
$(“#结果”).html(数据).show();
$(“#结果”).css(‘位置’、‘绝对’);
$(“#结果”).css('z-index','1');
//style='display:block;位置:绝对;z索引:1'
}
}
});
}
其他的
{
$('加载').css('显示','无');
$('#result').css('display','none');
}
});
});
PHP fetch-records.PHP文件:
<?php
$conn = mysqli_connect('localhost','root', '','Name_OF_DB');
if(isset($_GET['keysearch']))
{
$search = $_GET['keysearch'];
$search = mysqli_real_escape_string($conn,$search);
// $data = "SELECT * FROM products ";
$data = "SELECT * FROM products WHERE product_title LIKE '%{$search}%' order by product_id ";
// $query = query ("SELECT * FROM products WHERE product_category_id = ".$id." ORDER BY product_price DESC");
$result = mysqli_query($conn,$data);
if (mysqli_num_rows($result)>0)
{
while($row= mysqli_fetch_assoc($result))
{
echo"<a href='create_a_new_page_brother.php?id={$row['product_id']}&price=0' class='list-group-item'>{$row['product_title']}</a>";
}
}
}
?>
对于搜索选项,您可以执行以下操作:
HTML:
<div class="pull-right" style='display:block;'>
<span style="color:red"><strong>Search Products</strong></span>
<form method="get">
<input name="keysearch" value="" placeholder="name" id="keysearch" type="text" class="form-control">
<span id="loading"></span>
</form>
<div id="result"></div>
</div>
搜索产品
使用的脚本:
<script>
$(document).ready(function(){
var req = null;
$('#keysearch').on('keyup', function(){
var key = $('#keysearch').val();
if (key && key.length > 0){
$('#loading').css('display', 'block');
if (req)
req.abort();
req = $.ajax({
url : 'fetch_records.php',
type : 'GET',
cache : false,
data : {
keysearch : key,
},
success : function(data)
{
console.log(data)
if (data)
{
$('#loading').css('display', 'none');
$("#result").html(data).show();
$("#result").css('position', 'absolute');
$("#result").css('z-index', '1');
// style='display:block; position :absolute; z-index:1'
}
}
});
}
else
{
$('#loading').css('display', 'none');
$('#result').css('display', 'none');
}
});
});
</script>
$(文档).ready(函数(){
var-req=null;
$('#keysearch')。on('keyup',function(){
var key=$('#keysearch').val();
如果(key&&key.length>0){
$('加载').css('显示','块');
如果(请求)
请求中止();
req=$.ajax({
url:“fetch_records.php”,
键入:“GET”,
cache:false,
数据:{
钥匙搜索:钥匙,
},
成功:功能(数据)
{
console.log(数据)
如果(数据)
{
$('加载').css('显示','无');
$(“#结果”).html(数据).show();
$(“#结果”).css(‘位置’、‘绝对’);
$(“#结果”).css('z-index','1');
//style='display:block;位置:绝对;z索引:1'
}
}
});
}
其他的
{
$('加载').css('显示','无');
$('#result').css('display','none');
}
});
});
PHP fetch-records.PHP文件:
<?php
$conn = mysqli_connect('localhost','root', '','Name_OF_DB');
if(isset($_GET['keysearch']))
{
$search = $_GET['keysearch'];
$search = mysqli_real_escape_string($conn,$search);
// $data = "SELECT * FROM products ";
$data = "SELECT * FROM products WHERE product_title LIKE '%{$search}%' order by product_id ";
// $query = query ("SELECT * FROM products WHERE product_category_id = ".$id." ORDER BY product_price DESC");
$result = mysqli_query($conn,$data);
if (mysqli_num_rows($result)>0)
{
while($row= mysqli_fetch_assoc($result))
{
echo"<a href='create_a_new_page_brother.php?id={$row['product_id']}&price=0' class='list-group-item'>{$row['product_title']}</a>";
}
}
}
?>
谢谢!有什么方法可以让我只得到按下的键,而不是盒子的全部值吗?没关系,只要看看你附上的文档,它就解决了所有问题。再次感谢!谢谢有什么方法可以让我只得到按下的键,而不是盒子的全部值吗?没关系,只要看看你附上的文档,它就解决了所有问题。再次感谢!