<a href="#" class="reset-creator-btn op vh" data-target="{{ user.props.email }}">{% trans "Modify creator" %}</a>
var user_list = [], user_email;
{% for user in users_admin %}
user_email = '{{ user.email }}';
user_list.push({value:user_email, label:user_email});
{% endfor %}
$('.reset-creator-btn').click(function() {
var form = $("#reset-creator-form");
form.modal({appendTo: "#main", focus:false});
$('#simplemodal-container').css({'height':'auto', 'padding':0});
$('#add-admin-tabs').tabs();
addAutocomplete('#added-member-name', '#enter', user_list);
});
$('#reset-creator-form').submit(function() {
var form = $(this),
cur_tab_id = $('.ui-tabs-selected a', form).attr('href'),
post_data = '',
input = $('[name="user_email"]', form);
post_data = input.val();
if (!post_data) {
apply_form_error(form.attr('id'), '{% trans "Please enter emails." %}');
return false;
}
var submit_btn = $('[type="submit"]', form);
disable(submit_btn);
$.ajax({
url: '{% url 'reset_user_creator' %}',
type: 'POST',
dataType: 'json',
cache: false,
beforeSend: prepareCSRFToken,
data: {
'reset_creator_email': post_data
},
success: function(data) {
location.reload('true');
},
error: function(data, textStatus, jqXHR) {
var errors = $.parseJSON(data.responseText);
$.each(errors, function(index, value) {
apply_form_error(form.attr('id'), value);
});
enable(submit_btn);
}
});
return false;
});
解决方法:在form表单里追加几个hidden标签,把这几个值写进去
点击超连接函数
$('.reset-creator-btn').click(function() {
var form = $("#reset-creator-form");
var xx = $(this).attr('data-target');
或var xx = $(this).data('target');
$('#email_user',form).val(xx);
点击超链接,弹出的表单
<form id="reset-creator-form" method="post" name="add-admin-form" class="tab-popup hide">{% csrf_token %}
<input id = "email_user"/>/*隐藏的表单,为了看其值,去掉了type='hidden'*/
</form>
可以试试 jQuery 的 serialize() 或 serializeArray() 函数,可以获取到指定 form 元素中的表单信息。