我正在开发短信发件人表格。表单包含三个组成部分:
然后我想我需要分三步走:
1-检查是否已选中该复选框。
2-读取数据库中的订户号。
3-将订阅者写入接收者文本区域。
我所做的是创建JavaScript函数,该函数在更改时由复选框调用,然后通过JavaScript函数调用php代码,最后,在php中使用JavaScript将数字附加到文本区域中。不幸的是,它没有用。我必须进行研究,发现必须使用Ajax来调用php代码。
我以前没有使用过ajax,但我认为这很困难,我是脚本编写的初学者。另外,我更喜欢使用这种实现方式,而不是在提交表单后读取数据库。
我真的很困惑该怎么办。这是我第一次需要在彼此之间使用脚本和php!我需要您的帮助,最简单的实施方法是什么。
欢迎新的想法和方法。
更新:
由于大多数人建议,我决定使用Ajax。
这是form.php代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
var checkbox = document.getElementById('subscribers').checked;
//Check if checkbox is checked
if (checkbox === true) {
//Read databank for Results
document.getElementById("to").value = "result should be here.";
$.ajax({
type: 'POST',
url: 'sms/readSubscriber.php',
data: {'variable': dataPhp},
complete: function(r){
var subscriberNumbers = r.responseText;
document.getElementById('to').innerHTML = subscriberNumbers;
}
});
} else {
document.getElementById("to").value = "";
}
});
function doalert() {
//Check if checkbox is checked
var checkboxElem = document.getElementById("subscribers").checked;
if (checkboxElem === true) {
//Read databank for Results
document.getElementById("to").value = "result should be here.";
$.ajax({
type: 'POST',
url: 'sms/readSubscriber.php',
data: {'variable': dataPhp},
complete: function(r){
var subscriberNumbers = r.responseText;
document.getElementById('to').innerHTML = subscriberNumbers;
}
});
} else {
document.getElementById("to").value = "";
}
}
</script>
</head>
<body>
<fieldset style="width:50%;margin:auto" dir=ltr>
<form action="" method="POST">
<table border="0" cellspacing="3" cellpadding="3">
<tr>
<td>Your Balance</td>
<td><input type="text" class="form-control" name="Balance" size="20" disabled="disabled" value="<?php
echo $Credits;
?>"></td>
</tr>
<tr>
<td>Mobile No.</td>
<td><textarea textarea class="form-control" id="to" name="Mobile" cols="30" rows="5"></textarea><br></td>
<td>
<div class="checkbox">
<label><input type="checkbox" value="subscribers" onchange="doalert()" id="subscribers" checked>Subscribers</label>
</div>
</td>
</tr>
<tr>
<td>Message</td>
<td><textarea class="form-control" name="Text" cols="30" rows="5" required></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Go" value="Send SMS" /></td>
</tr>
</table>
</form>
</fieldset>
</body>
</html>
这是readSubscriber.php
<?php
require_once('../db_functions.php');
// Connect to the database
$connection = db_connect();
//if connection fails, stop script execution
if (mysqli_connect_errno()) {
echo "Error: " . $sql . "Connect failed: " . mysqli_connect_error();
} else {
$query = "SELECT * FROM phoneSubscribers";
// Query the database
$result = db_isExist($query);
if ($result) {
$result = db_fetch($query);
echo json_encode($result);
} else {
echo "No result";
}
}
?>
答案 0 :(得分:0)
请使用代码更新您的问题,否则将很难提供帮助。 为此,您必须使用Ajax和jquery。
确保已安装jquery。
var checkbox = document.getElementById('checkboxInput').checked;
//Maybe you want to pass something to the PHP file?
var dataPhp = "";
//Check if checkbox is checked
if (checkbox === true) {
//Read databank for Results
$.ajax({
type: 'POST',
url: 'yourFile.php',
data: {'variable': dataPhp},
complete: function(r){
var subscriberNumbers = r.responseText;
document.getElementById('receivers').innerHTML = subscriberNumbers;
}
});
}
要获取发送到php文件的变量,只需使用
$dataFromScript = $_POST['variable'];
在yourFile.php
中,您必须获取MySQL数据库的所需值。
如果它是一个数组,请确保使用JSON进行编码。
echo json_encode($resultArray);
之后,$resultArray
变量将显示在您的
<div id="receivers"></div>