Как я могу создать форму события, чтобы использовать ее с помощью FullCalendarJavascript

Форум по Javascript
Ответить
Гость
 Как я могу создать форму события, чтобы использовать ее с помощью FullCalendar

Сообщение Гость »

Я чувствую себя потерянным. Я пытался получить заголовок из формы и обновить календарь. Может ли кто -нибудь помочь мне создать форму события? У меня недостаточно опыта работы с jQuery. Сначала я думал, что добавление EventListener для Button решит проблему. Но это не так.


{% from "formhelpers.html" import render_field %}
Calendar









$(document).ready(function() {
var calendar = $('#calendar').fullCalendar({
editable:true,
header:{
left:'prev,next today',
center:'title',
right:'month,agendaWeek,agendaDay'
},
events: [{% for row in calendar %}{ id : '{{row.id}}', title : '{{row.title}}', start : '{{row.start_event}}', end : '{{row.end_event}}', }, {% endfor %}],
selectable:true,
selectHelper:true,
select: function(start, end, allDay)
{
document.getElementById("eventblock").style.display="block"
var title = prompt("Enter Event Title");
if(title)
{
var start = $.fullCalendar.formatDate(start, "Y-MM-DD HH:mm:ss");
var end = $.fullCalendar.formatDate(end, "Y-MM-DD HH:mm:ss");
$.ajax({
url:"/insert",
type:"POST",
data:{title:title, start:start, end:end},
success:function(data)
{
//alert(data)
alert("Added Successfully");
window.location.replace("/");
}
})
}
},
editable:true,
eventResize:function(event)
{
var start = $.fullCalendar.formatDate(event.start, "Y-MM-DD HH:mm:ss");
var end = $.fullCalendar.formatDate(event.end, "Y-MM-DD HH:mm:ss");
var title = event.title;
var id = event.id;
$.ajax({
url:"/update",
type:"POST",
data:{title:title, start:start, end:end, id:id},
success:function(){
calendar.fullCalendar('refetchEvents');
alert('Event Update');
}
})
},

eventDrop:function(event)
{
var start = $.fullCalendar.formatDate(event.start, "Y-MM-DD HH:mm:ss");
var end = $.fullCalendar.formatDate(event.end, "Y-MM-DD HH:mm:ss");
var title = event.title;
var id = event.id;
$.ajax({
url:"/update",
type:"POST",
data:{title:title, start:start, end:end, id:id},
success:function()
{
calendar.fullCalendar('refetchEvents');
alert("Event Updated");
}
});
},

eventClick:function(event)
{
if(confirm("Are you sure you want to remove it?"))
{
var id = event.id;
$.ajax({
url:"/ajax_delete",
type:"POST",
data:{id:id},
success:function()
{
calendar.fullCalendar('refetchEvents');
alert("Event Removed");
}
})
}
},

});
});





Calendar






{{ render_field(form.title) }}

Submit








< /code>
Скрипт колбы: < /p>
from flask import Flask, render_template, request, jsonify
from flask_mysqldb import MySQL
from wtforms import Form, StringField, TextAreaField, PasswordField, validators

app = Flask(__name__)
app.secret_key = "waytoosecret"

app.config["MYSQL_HOST"] = "localhost"
app.config["MYSQL_USER"] = "root"
app.config["MYSQL_PASSWORD"] = ""
app.config["MYSQL_DB"] = "calendar"
app.config["MYSQL_CURSORCLASS"] = "DictCursor"

db = MySQL(app)

class EventBlockForm(Form):
title = StringField("Title")
#description = StringField("")

@app.route('/', methods=["POST", "GET"])
def index():
form = EventBlockForm(request.form)
cur = db.connection.cursor()
cur.execute("SELECT * FROM events ORDER BY id")
calendar = cur.fetchall()
return render_template('index.html', calendar=calendar, form = form)

@app.route("/insert", methods=["POST", "GET"])
def insert():
cur = db.connection.cursor()
form = EventBlockForm(request.form)

if request.method == 'POST':

#title = request.form['title']
title = form.title.data
#desc = form.description.data

start = request.form['start']
end = request.form['end']
print(title)
print(start)
cur.execute("INSERT INTO events (title,start_event,end_event) VALUES (%s,%s,%s)", [title, start, end])
db.connection.commit()
cur.close()
msg = 'success'
return jsonify(msg)

@app.route("/update", methods=["POST", "GET"])
def update():
cur = db.connection.cursor()
if request.method == 'POST':
title = request.form['title']
start = request.form['start']
end = request.form['end']
id = request.form['id']
print(start)
print(end)
cur.execute("UPDATE events SET title = %s, start_event = %s, end_event = %s WHERE id = %s ",
[title, start, end, id])
db.connection.commit()
cur.close()
msg = 'success'
return jsonify(msg)

@app.route("/ajax_delete", methods=["POST", "GET"])
def ajax_delete():
cur = db.connection.cursor()
if request.method == 'POST':
getid = request.form['id']
print(getid)
cur.execute('DELETE FROM events WHERE id = {0}'.format(getid))
db.connection.commit()
cur.close()
msg = 'Record deleted successfully'
return jsonify(msg)

if __name__ == "__main__":
app.run(debug=True)
< /code>
Я попытался добавить прослушивателя, чтобы получить информацию о заголовке из формы. Затем проверил много сообщений здесь.

Подробнее здесь: https://stackoverflow.com/questions/794 ... llcalendar
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»