我想将这些信息提交到离线Javascript数据库,然后提交到在线php-mysql数据库。我怎么能让一张表格同时做这两件事?
这些是我的外部文件:offlineables.jsonlinetables.php
<form id="mycontact">
<fieldset>
<legend>Your details</legend>
<ol>
<li>
<label for="username">Name</label>
<input id="username" type="text" placeholder="First and last name">
<input type="hidden" id="id"/>
</li>
</ol>
</fieldset>
<button id="submitButton" type="submit">SAVE</button>
</form><br />
<div id="results"></div>
</body>
运行完脚本后,可以使用Javascript提交表单。
function(){
//your code here
document.getElementById('mycontact').submit();
}
JQuery:$('#mycontact').submit();
您需要将action
属性添加到表单中,以告知将表单提交到哪里(PHP文件)。
您必须将按钮从type=submit
更改为类似type=button
的按钮,以便用该按钮的事件侦听器覆盖提交函数。
将jquery与FormData对象结合使用:
$("#my-form").submit( function (eForm) {
eForm.preventDefault();
var form_dat = new FormData(this);
$.ajax ({
type: "POST",
url: "formserver.php",
mimeType:"multipart/form-data",
data: form_dat,
cache: false,
contentType:false,
processData:false,
success: sucFunc
})
})
然后,您可以将函数链接起来,以执行任意数量的提交。
您可以使用FormData javascript对象在表单的onsubmit调用中执行AJAX提交。让您的表单设置正常提交到php,然后添加javascript处理。在不涉及太多细节的情况下,试试这样的方法。
document.getElementById('mycontact').onsubmit = function(){
var formData = new FormData(this);
var url = "example.php"; //your url here
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST",url,true);
xmlhttp.send(formData);
};
通过不返回false
或执行event.preventDefault();
,表单应正常提交。