2016-11-21 7 views
0

Когда я нажимаю кнопку «Добавить при первой загрузке», она будет работать в добавлении текста , когда я загружу на другую страницу и вернусь в форму добавления, когда кнопка добавления будет нажата дважды.Как предотвратить двойную отправку в одном событии

<div id="main"> 

//start add 
    <div id="addform"> 
     <p></p> 
     <button id="add">Add</button> 
     <button id="cancel">Cancel</button> 
    </div> 
//end add 

</div> 

Когда я загружаю другую страницу, сначала заполняю переменные и даже контейнер.

$(document).ready(function(){ 


$(document).on('click','#add', function(e){ 
    $('p').append('Sample text, lot and more...'); 
    e.preventDefault(); 
}); 


$(document).on('click','#cancel', function(){ 
    $('#main').empty().append('<div id="viewform">sample text <button id="addtext">Goto Addform</button></div>); 
}); 

$(document).on('click','#addtext', function(){ 
$('#main').empty().append('<div id="addform"><p></p><button id="add">Add</button><button id="cancel">Cancel</button></div>); 
}); 

}); 
+0

где AddText элемент на разметке – Geeky

+2

Можете ли вы дать сценарий, где это происходит ... я скопировал код его работает отлично ... может быть скрипку бы помочь здесь – Geeky

+0

https: // jsfiddle .net/dbop765y/its working –

ответ

0

связывание Ваше как событие имеет проблемы,

Вашего предоставленного кода,

$(document).on('click','#cancel', function(){ 
    $('#main').empty().append('<div id="viewform">sample text <button id="addtext">Goto Addform</button></div>); 
}); 

он отсутствует закрытие цитаты.

$(document).on('click','#cancel', function(){ 
$('#main').empty().append('<div id="viewform">sample text <button id="addtext">Goto Addform</button></div>); 
}); 

То же самое касается,

$(document).on('click','#addtext', function(){ 
$('#main').empty().append('<div id="addform"><p></p><button id="add">Add</button><button id="cancel">Cancel</button></div>); 
}); 

Должно быть,

$(document).on('click','#addtext', function(){ 
    $('#main').empty().append('<div id="addform"><p></p><button id="add">Add</button><button id="cancel">Cancel</button></div>'); 
    }); 
+0

Спасибо за это, но все же получил эту проблему. – bdalina

+0

Есть ли какая-либо функция, которая помогает предотвратить дублирование представления, я использовал e.preventDefault(); – bdalina

+0

Я нашел этот образец, и моя проблема очень похожа на это http://jsfiddle.net/Gajotres/CCfL4/ – bdalina

0

спасибо за этот $ ('# добавить') от (до щелчка).

$(document).on('click','#cancel', function() 
{ 

$('#add').off('click'); 

$('#main').empty().append('<div id="viewform">sample text <button id="addtext">Goto Addform</button></div>); 

}); 
+0

Это не должно быть идеальным решением, хотя – ScanQR

+0

, но оно работает, и оно не удваивает отправку или двойную действие, как это http://jsfiddle.net/Gajotres/CCfL4/ – bdalina

+0

его решение было здесь http://jsfiddle.net/Gajotres/K8YmG/ – bdalina