これを何時間も調査した後、私は最終的に自分で質問を投稿することにしました. 私は ajax と jquery にかなり慣れていないことを覚えておいてください。ただし、現在のプロジェクトの締め切りが迫っているため、すべてを確認する時間がありません。
次のhtmlフォームがあります。
<div class="form">
<form id="savePlacemarkForm" method="post" action="createPlacemark.php">
<div>
<input type="text" id="placemarkName" name="placemarkName" placeholder="Name:"/>
</div>
<div>
<input type="text" id="placemarkAddress" name="placemarkAddress" placeholder="Adress:"/>
</div>
<div>
<input type="text" id="placemarkTag" name="placemarkTag" placeholder="Tags:"/>
</div>
<div>
<textarea id="placemarkDescription" name="placemarkDescription" placeholder="Description" rows="1" cols="1"></textarea>
</div>
<div>
<input id="latitude" type="text" name="latitude"/>
</div>
<div>
<input id="longtitude" type="text" name="longtitude"/>
</div>
<button class="md-close" id="savePlacemark" onclick="createPlacemark();"/>Save</button>
</form>
<button class="md-close">Cancel</button>
<script src="my_script.js" type="text/javascript"></script>
</div>
ご覧のとおり、アクションを createPlacemark.php に設定しています。これは、これらのフィールドから入力を受け取り、DB に保存します。これは正常に動作します!! ただし、これはページをリダイレクトまたは再送信しなくても機能するはずなので、つまり ajax! 次のような my_script.js を含めます。
$("#savePlacemark").click( function() {
$.post( $("#savePlacemarkForm").attr("action"),
$("#savePlacemarkForm :input").serializeArray();
});
clearInput();
});
$("#savePlacemarkForm").submit( function() {
return false;
});
function clearInput() {
$("#savePlacemarkForm :input").each( function() {
$(this).val('');
});
}
ご覧のとおり、それは機能しますが、何らかの理由で false を返します。前述のphpファイルに継続的にリダイレクトされるため、うまくいかないようです。
どんな助けでも大歓迎です!どうも!