我有一个使用jquery和ajax提交给php脚本的表单,但在php脚本中显示为空白。
形式:
<table id="coachapplication">
<form id="coachapplicationform" action="" method="post">
<tr><td>Briefly explain your teaching methods:<br /> <textarea maxlength="100" name="coachmethods" id="coachmethods"></textarea></td></tr>
<tr><td><input type="checkbox" value="yes" name="agree" id="agree" /> I am fully prepared to take on the responsibilities of being a coach which include logging into the website daily and hosting sessions.
<tr><td><button id="submitcoachapplication" type="button">Submit</button></td></tr>
</form>
</table>
jquery脚本:
$('#submitcoachapplication').click(function() {
$.ajax({
type: "POST",
url: "includes/sendcoachapplication.php",
data: $("form#coachapplicationform").serialize(),
success: function(msg){
$("#coachapplication").html(msg);
}
});
});
php脚本:
<?php
session_start();
$user = $_SESSION['username'];
include("dbcon.php");
include("user.php");
$result = mysql_query("SELECT * FROM coachapplications ORDER BY username");
while($row = mysql_fetch_array($result)) {
$username = $row['username'];
if($username == $user) die("You already have a pending application.");
}
$coachmethods = $_POST['coachmethods'];
$coachmethods = mysql_real_escape_string($coachmethods);
$agree = $_POST['agree'];
if($coachmethods == "") die("Please enter some info about how you intend to teach.");
if($agree != "yes") die(" Please agree to the terms.");
$sql="INSERT INTO coachapplications (username, methods) VALUES ('$user', '$coachmethods')";
if (!mysql_query($sql,$con)) die('Error: ' . mysql_error());
echo 'Your application has been submitted, and is awaiting admin approval. If you are found suitable for the program, you will be taught how to use the system.';
mysql_close($con);
?>
答案 0 :(得分:2)
不允许<form>
元素作为<table>
的子元素。您的浏览器可能会通过将其移到表外而纠错,这意味着<input>
元素不再位于其中。
将<table>
放在<form>
内,而不是相反。
更好的是,don't use tables layout。