我的头部区域有以下代码:
<script>
$(function() {
$("#idNameHere").click(function() {
var title = $("#threadTitle").val();
var category = $("#category").val();
var message = CKEDITOR.instances['message'].getData();
errors = new Array();
if (title == "")
errors.push("\n\t- You must enter a title.");
if (category == "")
errors.push("\n\t- You must select a category.");
if (message == "")
errors.push("\n\t- You must enter a message.");
if (errors.length > 0)
{
var errorString = "Please fix the following errors and try again:";
for (var i = 0; i < errors.length; i++)
errorString = errorString + errors[i];
alert(errorString);
}
else
{
$.get("./ajax/createThread.php", { title: title, category:category, message: message }, function(data) {
if (!isNaN(data))
window.location='./viewThread.php?tid='+data;
else
alert(data);
});
}
});
});
</script>
有时(但并非总是)它多次发送请求 - 所以我最终将线程对象多次插入到我的数据库中。
根据我的阅读,这是因为点击功能在 $(function() {}); area - 但是,如果我将 click 函数移出该区域,则不会捕获 click 事件,并且根本不会运行代码。
如何让点击功能注册,并且只运行一次?