在不提交表单的情况下获取输入字段的值
Get value of input field without submitting form
我想获取输入字段的当前值,然后根据字段值从数据库中回显一些信息,而不使用提交。
就像当您为网站填写新的个人资料时,而不是经历单击提交并返回(如果您的用户名已被占用)的麻烦,而是在该字段旁边显示错误消息。
这是我到目前为止得到的:
<html>
<body>
<form name='Form'>
Date: <input type='text' id='sheetid' />
<input type='button' onclick='ajaxFunction()' value='Query!' /> <br />
</form>
<div id='content'>Result</div>
</body>
<script language="javascript" type="text/javascript">
function ajaxFunction(){
var ajaxRequest;
try{
ajaxRequest = new XMLHttpRequest();
} catch (e){
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
alert("ERROR!");
return false;
}
}
}
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById('content');
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
}
var sheetid = document.getElementById('sheetid').value;
var queryString = "?url=" + sheetid;
ajaxRequest.open("GET", "test.php" + queryString, true);
ajaxRequest.send(null);
}
</script>
</html>
和我的PHP:
<?
$st=$_POST['sheetid'];
require_once('database_connect.php');
$inf = "SELECT * FROM `comments` WHERE date='$st' ORDER BY time ASC";
$info = mysql_query($inf);
if(!$info) die(mysql_error());
$info_rows = mysql_num_rows($info);
if($info_rows > 0) {
echo '<table width="95%">';
while($info2 = mysql_fetch_object($info)) {
echo '<tr>';
echo '<td>';echo '<a href="mailto:'.$info2->username.'@mail.com">'.stripslashes($info2->username).'</a>'; echo "("; echo date('H:i', $info2->time)."): "; echo stripslashes($info2->comment).'</td>'.'</tr>';
}
}
?>
我不确定为什么这不显示任何评论,也无法弄清楚如何在不按查询按钮的情况下使其工作,而是在用户完成键入或单击输入框之后。
任何反馈将不胜感激。
啪��
你在哪里初始化XmlHttpRequest
对象?像这样:
var ajaxRequest ;
if (window.XMLHttpRequest)
{
ajaxRequest = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
为了完成我的答案,我将添加两件事:
1st :在
onreadystatechange
函数中,不要忘记像这样测试HTTP响应代码:
if (xhr.readyState == 4 && xhr.status == 200)
第二:你可以使用像jQuery或Prototype这样的JS框架来简化你的AJAX调用。
响应 2
尝试添加这个:
ajaxRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded;');
响应
你使用 GET 方法ajaxRequest.open("GET", "test.php" + queryString, true);
发布数据,但在 PHP 中,你使用 POST var 来检索它$_POST['sheetid']
只需使用这个:
$_GET['sheetid'];
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 如何在HTML输入字段中添加不可删除的后缀
- 互斥单选按钮和相应的输入字段
- 在IE9中的输入字段中输入焦点最近按钮
- 选中单选框时将属性添加到输入字段
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- 输入字段将't获取更新的值
- 如何选择多个输入字段并删除所需的属性
- 输入字段,只接受0到12之间的数字
- 单击鼠标,用MySQL数据填充html表单输入字段
- 使用jquery将输入字段转换为文本
- Model中的Typeahead返回空值以形成输入字段
- 如何从查询字符串中的输入字段发回文本
- 如何验证日期、月份和日期的3个独立输入字段;年使用jquery或javascript
- 将值传递给jquery创建的输入字段