Skip to content

Commit d37d805

Browse files
committed
ajax validations
1 parent c4ab7eb commit d37d805

1 file changed

Lines changed: 7 additions & 8 deletions

File tree

templates/github_management/user_detail.html

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ <h3 class="text-lg leading-6 font-medium text-gray-900 dark:text-white">
7474
</form>
7575
{% endif %}
7676
{% if request.user.is_authenticated %}
77-
<form method="post" action="{% url 'github_management:user_update_stats' github_username=github_user.github_username %}" class="refresh-form inline">
77+
<form method="post" action="{% url 'github_management:user_update_stats' github_username=github_user.github_username %}" class="refresh-form inline" onsubmit="return false;">
7878
{% csrf_token %}
79-
<button class="inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700" type="submit">
79+
<button class="inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700 refresh-btn" type="button">
8080
<i class="fas fa-sync mr-2"></i>
8181
Refresh
8282
</button>
@@ -241,12 +241,11 @@ <h4 class="text-lg font-medium text-gray-900 dark:text-white">
241241
(function(){
242242
const form = document.querySelector('.refresh-form');
243243
if(!form) return;
244-
form.addEventListener('submit', function(e){
245-
e.preventDefault();
246-
const btn = form.querySelector('button[type="submit"]');
247-
const csrf = form.querySelector('[name=csrfmiddlewaretoken]');
248-
if(!btn||!csrf) return;
249-
const original = btn.innerHTML; btn.disabled=true; btn.innerHTML='Refreshing…';
244+
const btn = form.querySelector('.refresh-btn');
245+
const csrf = form.querySelector('[name=csrfmiddlewaretoken]');
246+
if(!btn||!csrf) return;
247+
btn.addEventListener('click', function(){
248+
const original = btn.innerHTML; btn.disabled = true; btn.innerHTML = 'Refreshing…';
250249
fetch(form.action, {method:'POST', headers:{'X-CSRFToken': csrf.value, 'Accept':'application/json', 'X-Requested-With':'XMLHttpRequest'}})
251250
.then(async (res)=>{
252251
const data = await res.json().catch(()=>({}));

0 commit comments

Comments
 (0)