我正在尝试将数据从表单发送到php文件,因此我可以将其存储在数据库中,但它无法正常工作......
表单的代码与php文件不在同一台服务器上,因为表单将在移动应用程序上。
HTML
<div data-role="page" id="createclub">
<div data-role="content">
<form id="cname" align="left" action="post">
<label for="name">Enter Name:</label>
<input type="text" id="name" value="" />
<input type="submit" value="Submit" data-inline="true">
</form>
<div id="result"></div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$("#cname").submit( function () {
$.post(
'http://www.clubbedin.isadcharity.org/createclub.php',
$("#cname").serialize(),
function(data){
$("#result").html(data);
alert("Data " + data);
}
);
return false;
});
});
</script>
php文件
$name = $_POST['name'];
谢谢!!!
答案 0 :(得分:14)
答案 1 :(得分:1)
我认为您需要使用.preventDefault()
来阻止提交按钮的默认功能,因为当您查看代码时,您希望使用ajax提交表单
$("#cname").submit(function (e) {
e.preventDefault();
$.ajax({
url: 'http://www.clubbedin.isadcharity.org/createclub.php',
crossDomain: true, //set as a cross domain requests
type: 'post',
data: $("#cname").serialize(),
success: function (data) {
$("#result").html(data);
alert("Data " + data);
},
});
});
并请使用.ajax()
,以便您可以将ajax请求设置为跨域请求
答案 2 :(得分:-1)
您的输入元素<input type="text" id="name" value="" />
必须将name属性设置为name="name"
。
编辑后的#cname
<form id="cname" align="left" action="post">
<label for="name">Enter Name:</label>
<input type="text" id="name" name="name" value="" />
<input type="submit" value="Submit" data-inline="true">
</form>
您可以从jQuery API文档中收集更多信息:
http://api.jquery.com/
http://api.jquery.com/serialize/