开发者

Form not being serialized? jquery and ajax

I have a form that is submitted to a php script with jquery and ajax, but turning out blank in the php script.

form:

<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 script:

$('#submitcoachapplication').click(function() {

$.ajax({

type: "POST",

url: "includes/sendcoachapplication.php",

data: $("form#coachapplicationform").serialize(),

success: function(msg){

    $("#coachapplication").html(msg);

}

});

});

php script:

<?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);

?>


A <form> element is not allowed as a child of <table>. Your browser is likely error correcting by moving it outside the table, which would mean that the <input> elements are no longer inside it.

Put the <table> inside the <form>, not the other way around.

Better yet, don't use tables for layout.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜