[已解决]点击超链接,弹出表单,提交表单,想将超链接中的data-xx的值放到表单ajax的post参数里,如何设置
<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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可以试试 jQuery 的 serialize() 或 serializeArray() 函数,可以获取到指定 form 元素中的表单信息。