Отправка формы через JScript не работаетJquery

Программирование на jquery
Ответить
Anonymous
 Отправка формы через JScript не работает

Сообщение Anonymous »

Я пытаюсь автоматически сохранить форму HTM, когда пользователь нажимает ссылку. Я обнаруживаю, что они нажали на ссылку, и что данные в форме изменились. Я также спрашиваю их, хотят ли они сохранить или отказаться от данных. Все это, кажется, работает правильно, но я не могу фактически сохранить данные. Вот HTML < /p>
Основной HTML -файл < /p>

Код: Выделить всё

{% extends 'patients/base.html' %}
{% load static %}
{% load i18n %}
{% load l10n %}

{% load crispy_forms_tags %}
{% block content %}






currentAnchor = null;

function SaveData2(saveData) {
console.log('SaveData2, save data: ' + saveData)
console.log("SaveData2 href " + currentAnchor.attr('href'));
if(saveData === 'True') {
console.log("Save the data");
$('#cons_update').submit();
}
else {
console.log("Don't save the data");
}

window.location.href = currentAnchor.attr('href');
}

const price_list =  JSON.parse("{{ price_data|escapejs }}");
$(document).ready(function() {
// Update price based on reason
$("#id_reason").on('focusout', function() {
var reason_val = $("#id_reason").val();
var price = 0;

jQuery.each(price_list, function(index, item) {
if(item[0] == reason_val) {
price = item[1];
return false;
}
});

$("#id_price").val( price );
});
});

const other_consults =  JSON.parse("{{ other_consults|escapejs }}");
$(document).ready(function() {
console.log("in ready event, load consults")
var $ul = $('#consults')

jQuery.each(other_consults, function(index, item) {
$ul.append('[*][url=/patient/]' + item[1] + '[/url]')
});
});

$(document).ready(function() {
$("#cons_update :input").change(function() {
console.log("in form change event")
$("#cons_update").data("changed",true);
});
});

$(document).ready(function() {
$('a').click(function() {
console.log("in link clicked event")
if ($("#cons_update").data("changed")) {
currentAnchor = $(this);
console.log("data changed")
SaveData();
return false;
}
});
});




{% csrf_token %}
{{ form.non_field_errors }}

{% trans "General Information"  %}
{{ form.patient_name|as_crispy_field }}


{% localize on %}
{{ form.date|as_crispy_field }}
{% endlocalize %}

{{ form.age|as_crispy_field }}




{{ form.weight|as_crispy_field }}

{{ form.height|as_crispy_field }}




{{ form.bp|as_crispy_field }}

{{ form.temp|as_crispy_field }}




{{ form.reason|as_crispy_field }}

{{ form.price|as_crispy_field }}


{{ form.visit_details|as_crispy_field }}
{{ form.next_appointment|as_crispy_field }}


{% if user.clinicuser.role == 'doctor' %}

{% trans "Visit Details" %}
{{ form.observations|as_crispy_field }}
{{ form.results|as_crispy_field }}
{{ form.consultation_notes|as_crispy_field }}
{{ form.history|as_crispy_field }}


{{ form.studies|as_crispy_field }}

{{ form.diagnosis|as_crispy_field }}


{{ form.treatment|as_crispy_field }}
{{ form.referral|as_crispy_field }}

{% endif %}


{% trans "Staff Details" %}


{{ form.doctor|as_crispy_field }}

{{ form.user|as_crispy_field }}




{% trans "Update" %}
{% trans "Save and Continue" %}
[url=https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css]



{% trans "House Upon The Rock" %}



{% trans "Data has changed.   Save the changes?" %}
{% trans "Yes" %}
{% trans "No" %}



const dialogBase = document.getElementById('dataChanged');
const yesButtonBase = document.getElementById('yesButtonBase');
const noButtonBase = document.getElementById('noButtonBase');
const result = 'none'

function SaveData() {
console.log("in SaveData, show dialog")
dialogBase.showModal();
}

yesButtonBase.addEventListener('click', () => {
console.log("yes")
dialogBase.close('True');
});

noButtonBase.addEventListener('click', () => {
console.log("no")
dialogBase.close('False');
});

dialogBase.addEventListener('close', () => {
console.log(`Dialog closed with returnValue: ${dialogBase.returnValue}`);
SaveData2(dialogBase.returnValue)
});





{% trans "House Upon The Rock" %}[/url]





[url={% url ]{% trans "Home" %}[/url]



{% if user.is_authenticated %}
[url={% url ]{% trans "Logout" %}[/url]
{% else %}
[url={% url ]{% trans "Login" %}[/url]
{% endif %}










{% if messages %}
{% for message in messages %}

{{ message }}

{% endfor %}
{% endif %}
{% block content %}{% endblock content %}


{% block sidebar %}{% endblock sidebar %}















< /code>
В функции SavedAta2 я хочу отправить форму, если диалоговое окно возвращает True.  Правильный путь следует, но на сервер не отправляется сообщение о сообщении.  Есть идеи, почему?  На самом деле нажатие на кнопку «Сохранить и продолжить» создает сообщение о сообщении. Сформируйте сервер. < /p>
Я достаточно уверен, что упускаю что -то очевидное, но я просто не вижу его. < /p>
 

Подробнее здесь: [url]https://stackoverflow.com/questions/79422202/submitting-a-form-via-jscript-not-working[/url]
Ответить

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

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

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

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

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