フォームデータをシリアル化して送信します。
<html>
<head>
<title>36373219</title>
<script type="text/javascript" src="assets/js/jquery-2.1.4.js"></script>
</head>
<body>
<form class="form" id="f1" >
<input name="f1_inp_1" value="1">
<input name="f1_inp_2" value="2">
</form>
<form class="form" id="f2" >
<input name="f2_inp_1" value="1">
<input name="f2_inp_2" value="2">
</form>
<form class="form" id="f3" >
<input name="f3_inp_1" value="1">
<input name="f3_inp_2" value="2">
</form>
<button id="fire">Fire</button>
</body>
<script type="text/javascript">
$('#fire').on('click', preparesend);
function preparesend(event)
{
sendform(event);
}
function sendform(event){
event.stopPropagation(); // Stop stuff happening
event.preventDefault(); // Totally stop stuff happening
var data = new FormData();
$('form').each(function(key,value) {
data.append(key, $(this).serialize());
});
$.ajax({
url: 'get_response.php',
type: 'POST',
data: data,
cache: false,
processData: false,
contentType: false,
success: function(data, textStatus, jqXHR)
{
alert(data);
}
});
}
</script>
</html>
あなたがこれを望むなぜ私は思ったんだけど... –
私は(GoogleがスクリプトのデプロイのWebアプリをアプリ)、GoogleのWebアプリケーションでフォームを作ってるんです。フォームには多くの入力(50+)があり、IpadのSafariで非常に遅く実行されます。 stackoverflowで議論したように、ソリューションは各入力を囲む50以上の別々のフォームタグを作成することですが、Google Webアプリケーションでは複数のフォーム入力をスクリプト側(google.script.run)に実行することはできません。このように私はアプリのスクリプトに1つのフォーム要素を送ることができ、ipadフォームの問題を解決しました:-) –