Ajax가 제 2 시간을 제출할 때까지 TextArea가 작동하지 않는 jQuery Appending Value
-
15-11-2019 - |
문제
jQuery JHTML WYSIWYG 편집기를 형식으로 보내고 텍스트 쟁이에 수동으로 출력을 추가해야합니다.양식은 AJAX를 통해 제출됩니다.UpdateText 함수는 WYSIWYG DIV의 Whats를 잡고 TextArea에 배치하여 Ajax를 보낼 수 있도록합니다.AjaxForm "BeFORESUBMIT"콜백을 사용 하여이 기능을 해제합니다.
//For Ajax Form
$('#addFaci').ajaxForm({
beforeSubmit: updateText,
success: function(response) {
eval(response);
}
});
function updateText(formData, jqForm, options){
var save = '#detail';
$(save).val($(save).htmlarea("toHtmlString"));
return true;
};
.
첫 번째 제출에서 작동하지 않습니다 ... UpdateText가 실제로 화재하기 전에 두 번 제출을 클릭해야합니다.어떤 아이디어가 있습니까?
감사합니다
해결책
When you hit submit this is what happens:
- Form data is being collected
- beforeSubmit fires, and the collected form data is being passed as the first parameter
- You're changing the value of textarea, but it's too late, because data has been already collected
Instead of changing textarea's value you should modify formData object.
UPD. Try this:
for (var i in formData) {
if (formData[i].name == '...name of your textarea here...') {
formData[i].value = ...wysiwyg's html...
}
}
Even easier, remove the hidden textarea and use this:
function updateText(formData, jqForm, options) {
formData.push({name: 'textarea_name', value: .... })
return true;
};
제휴하지 않습니다 StackOverflow