我有以下代码:
HTML
<div id="resume-begin" style="background:#CCCCCC; display:inline-block;">
<img src="/images/plus-plus.png" style="display:inline;" class="trigger"/>
</div>
<div class="input-resume-data" style="display:none;">
<form id="project-form">
<label for="resume-create-name">Resume Project Name:</label>
<input type="text" id="resume-create-it" name="resume-create-it" class="text ui-widget-content ui-corner-all">
</form>
</div>
的jQuery
<script>
$(document).ready(function() {
$('#resume-begin').click(function() {
('#resume-begin').hide();
$('.input-resume-data').dialog("open");
});
});
</script>
点击div resume-begin后,会打开我的UI对话框,如下所示:
<script>
$(function() {
$( ".input-resume-data" ).dialog({
title: 'Name your Resume Project',
autoOpen: false,
resizable: false,
height: 450,
width: 380,
show: { effect: 'drop', direction: "up" },
modal: true,
draggable: true,
buttons: {
"Submit": function() {
var $this = $(this);
var string = $('#resume-create-it').serialize();
$.ajax({
url: 'functions.php',
type: 'POST',
data: string,
success: function(data){
alert("Project created!");
$this.dialog('close');
}
});
},
Cancel: function() {
$( this ).dialog( "close" );
$( "#resume-begin" ).show( "slow", function() {
}); //end function
} //end cancel button
} //end buttons
}); //end dialog
}); //end jquery function
</script>
我想要的是什么:
一旦用户在UI输入中输入文本,然后单击Submit,我想将数据发布到PHP页面,我将把它保存到数据库中。目前,如果我输入数据并推送提交,则成功功能有效,但数据不会保存在数据库中。
在我的PHP中,我尝试抓取数据:
//Sanitize the POST values
$resumeProjectname = $_POST['resume-create-it'];
我不确定我是否正确传递数据,这是通过变量&#34; string&#34;在jQuery中,以及我是否在php文件中正确检索数据。
非常感谢任何帮助。如果您有任何疑问,请与我们联系!
感谢。
答案 0 :(得分:1)
从我的观点来看,我发现了两个错误
('#resume-begin').hide();//$ missing
和另一个
var string = $('#resume-create-it').serialize();
应该是
var string = $('#project-form').serialize();
序列化适用于表格。 https://api.jquery.com/serialize/
答案 1 :(得分:0)
要发送您的数据,请执行以下操作
data: {
resume_name: string
},
dataType: "json"
然后在PHP中使用
访问它$resume_name = $_POST['resume_name'];
作为最后一点,我不会调用变量string
,因为string
是许多语言中的关键字。起初我以为你试图告诉它你发送的数据是一个字符串。也不要从服务器data
调用响应,因为您在其上方使用了两行data
。使用类似response
的内容。
我应该提及
您不必使用JSON。您可以使用其他数据类型,但这是您缺少的关键部分之一。您需要设置dataType
,以便jQuery知道如何格式化您的响应。我个人认为,因为你开始使用JavaScript,所以使用JavaScript Object Notation是有意义的。