Javascript 在POST到django之前更改用户输入

Javascript 在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

我想获取用户输入,对其进行一些操作,然后将其传递给Django服务器。这是我的密码

JS

 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)