Javascript 在POST到django之前更改用户输入
我想获取用户输入,对其进行一些操作,然后将其传递给Django服务器。这是我的密码 JSJavascript 在POST到django之前更改用户输入,javascript,python,django,Javascript,Python,Django,我想获取用户输入,对其进行一些操作,然后将其传递给Django服务器。这是我的密码 JS frm = $("#textCSVForm"); frm.submit(function(event) { console.log('submit'); $.ajax({ url: frm.attr('action'), type: frm.attr('metho
frm = $("#textCSVForm");
frm.submit(function(event) {
console.log('submit');
$.ajax({
url: frm.attr('action'),
type: frm.attr('method'),
dataType: '',
data: {
test: 'post via js passed'
},
beforeSend: function(xhr, settings) {
if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
}
})
.done(function(response) {
console.log("success");
// console.log(response);
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
});
HTML
<form id='textCSVForm' class="" action="" method="post">
{% csrf_token %}
{{from}}
<button name='' id="textCSV" type="" name="">Via CSV text</button>
</form>
处理完用户输入后,我将其放在
数据:{test:'post via js passed'}
部分。问题是,用户输入在更改发生之前被发送。在仍然使用Django的表单系统时,有没有办法做到这一点?我认为您是在ajax之前提交表单的。您应该添加event.preventDefault()
(在frm.submit(函数(事件){
之后的一行)。并在AJAX上检查您的数据。
。您应该在此处记录所有表单变量。@Rafaelyes这正是发生的事情。我会尝试您的建议@Rafael TY sir!效果非常好。我认为您是在AJAX之前提交表单。您应该添加事件.preventDefault()
(在frm.submit(函数(事件)之后的一行){
)。还可以检查AJAX上的数据。
。你应该在这里使用所有的表单变量。@Rafaelyes确实发生了这件事,我会试试你的建议@Rafael TY sir!非常有效
lass GetNewData(forms.Form):
JSONTransactions = forms.CharField(initial = initialText, widget = forms.Textarea, label='Update with data', max_length=600)