我想将此添加到我的数据库中,但我不知道如何发送它。
db_table
id int(11)
employee varchar(40)
date_complete date
time time
status boolean
job varchar(50)
我拥有所有数据,但我不知道如何将其转换为数组,以便我可以将其发送到php并将其保存在我的mysql数据库中。
或者是否有更好的方法来构建此代码以使其更容易或更好地练习。
$(document).ready(function() {
$('<div/>', {
'class': 'extraPerson',
html: GetHtml()
}).appendTo('#container');
$('#addRow').click(function() {
$('<div/>', {
'class': 'extraPerson',
html: GetHtml()
}).hide().appendTo('#container').slideDown(200);
});
})
function GetHtml() {
var len = $('.extraPerson').length;
var $html = $('.extraPersonTemplate').clone();
$html.find('[name=date]')[0].name = "date" + len;
$html.find('[name=employee]')[0].name = "employee" + len;
$html.find('[name=time]')[0].name = "time" + len;
$html.find('[name=status]')[0].name = "status" + len;
$html.find('[name=job]')[0].name = "job" + len;
return $html.html();
}
&#13;
.extraPersonTemplate {
display: none;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<form name="form1" id="form1">
<div class="extraPersonTemplate">
<div class="controls controls-row">
<select class="span2" name="employee">
<option value="Joe">Joe</option>
<option value="Anna">Anna</option>
<option value="Liz">Liz</option>
<option value="Daniel">Daniel</option>
</select>
<input class="span3" placeholder="date" type="date" name="date">
<select class="span2" name="time">
<option value="9:00:00">9 a.m.</option>
<option value="10:00:00">10 a.m.</option>
<option value="11:00:00">11 a.m.</option>
<option value="12:00:00">12 p.m.</option>
<option value="13:00:00">1 p.m.</option>
</select>
<select class="span2" name="status">
<option value="finished">Finished</option>
<option value="inprogress">In Progress</option>
</select>
<select class="span2" name="job">
<option value="design">Design</option>
<option value="html">HTML</option>
<option value="php">PHP</option>
</select>
</div>
</div>
</form>
<div id="container"></div>
<a href="#" id="addRow"><i class="icon-plus-sign icon-white"></i> Add another Job</p></a>
&#13;
答案 0 :(得分:1)
一种解决方案是使用Jquery序列化表单中的表单字段:
$( "form" ).on( "submit", function( event ) {
var params = $( this ).serialize();
$.post(yourserver.php, params, validate, "json")
});
function validate(response) {
if (response.success) {
// -- Do something after successful commit
console.log("Allgood")
} else {
// -- Display an error
console.log(response.message)
}
}
上的好文档
答案 1 :(得分:1)
您的数据库在哪里?它是在带有URL的服务器上吗?您是否可以使用该URL的端点配置API?在不了解您的数据库的情况下,我们无法根据您的具体情况说明您将如何实际保存数据。
至于你的选择,你应该弄清楚你的数据库情况,这就是我的想法:
Here's an intro到HTML表单和here's a deeper break-down。 HTML表单可automatically send POST requests,表单中的数据在form-data
事件中以submit
形式发送。看来您的数据是以HTML格式构建的,这可能是一种选择。
您似乎已经了解了如何使用jquery访问DOM数据。您可以将数据收集到键值对的对象中,然后send it to your server with the jquery.ajax() method。
有关设置RESTful后端的详细信息,我建议Heroku's RESTful MEAN guide。
答案 2 :(得分:1)
传递使用jQuery创建的元素数组
var elementValue1 = $("#id").val(); // depends on type of element (text, select, checkbox, ...)
var elementValue2 = $("employee").val();
var request = $.ajax({
url: "script.php",
method: "POST",
data: { id : elementValue1, employee: elementValue2 }, // etc.
dataType: "html"
});
request.done(function( msg ) {
alert("data sent to script");
});
request.fail(function( jqXHR, textStatus ) {
alert( "Request failed: " + textStatus );
});