在数据库查询后启用/禁用按钮
Enabling/Disabling a button after database query
我想禁用或启用一个按钮,具体取决于数据库查询的结果。但我不知道怎么做。从一个例子中,我设法显示了一个文本(id="error",取决于查询的结果,但启用按钮(id="生成")不起作用。
这是我的JavaScript:
function checkSender(str)
{
if(str == "")
{
str=document.getElementById("senderinput").value;
}
str=str.toUpperCase();
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("error").innerHTML=xmlhttp.responseText;
if(xmlhttp.responseText == "Einsender existiert nicht.")
{
document.getElementById("generate").disabled = true;
}
else
{
document.getElementById("generate").disabled = false;
}
}
}
xmlhttp.open("GET","checkSender.php?s="+str,true);
xmlhttp.send();
}
来自 checkSender.php 的响应要么是"Einsender existiert nicht",要么是空字符串。
有什么建议吗?
编辑:
PHP代码:
<?php
require 'classes/DBHandler.php';
$DBHandler = new class_DBHandler();
$s = $_GET['s'];
$query="<Statement with $s as parameter>";
$Data = $DBHandler->GetData($query);
if(intval($Data[0]['COUNT']) >= 1)
{
echo "";
}
else
{
echo "Einsender existiert nicht.";
}
?>
HTML代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="style.css">
<script src="inc/checkSender.js"></script>
<title>MarPro</title>
</head>
<body>
<div class="main">
<div class="debug" id="ana">
</div>
<div class="headline">
<h1>MarPro</h1>
</div>
<div class="result">
<div class="menu">
<form action="" method="post" name="senderform">
<p>Einsender: <input type="text" name="sender" onkeyup="checkSender(this.value)"></p>
<p id="error"></p>
<p><input type="submit" name="generate" value="Generieren" id="generate" disabled></p>
</form>
</div>
</div>
</div>
</body>
</html>
提前感谢!
马可·弗罗斯特
我认为你应该尝试使用alert来查看你的"responseText"是什么样子的。它可能不是两个预期值,因为如果是,那么您将获得所需的结果。
我已经找到了解决方案。
问题是"echo"在打印字符串后添加了空格和换行符。所以我不得不在检查之前像这样操作字符串:
String.trim(xmlhttp.responseText)
现在,它起作用了。
if(String.trim(xmlhttp.responseText) === "Einsender existiert nicht.")
{
foo();
}
else
{
bar();
}
相关文章:
- 如何在 API 调用后和 if 语句中启用提交按钮
- 根据字段的值启用按钮
- 如何启用单选按钮
- 当我的所有 Ng-from 都有效时启用一个按钮
- 如何使用编辑按钮启用表格行中的所有输入
- 多个javascript按钮(启用/禁用)
- 动态按钮启用基于错误组的挖空 js
- 通用JavaScript来处理单选按钮启用/禁用
- 如何在jQuery中所有文本框都有值时按钮启用
- 数据表按钮启用/禁用示例不起作用
- JavaScript按钮启用和禁用与PHP
- 按钮-启用和禁用
- 基于单选按钮启用或禁用文本框
- 当复选框是否被选中时,按钮启用或禁用
- JQuery按钮启用和禁用CSS功能点击
- 按钮启用和禁用单击
- 我如何通过在Javascript中单击重置按钮启用复选框
- 基于单选按钮启用/禁用功能按钮
- Yui 2.0 通过多个单选按钮启用输入
- 基于单选按钮启用/禁用提交按钮