替换并打印jquery formData值
Replace and Print jquery formData value
我想让jquery插件在ajax之前处理表单提交。
这是我的jquery脚本
;(function($,window,document,undefined){
"use strict";
$.modalLoad = function(element, options){
var plugin = this;
var $element = $(element),
element = element,
url = $element.attr('href'),
target = $element.data('target');
var defaults = {
form: $(this).serializeArray(),
};
plugin.init = function(context){
plugin.settings = $.extend({},defaults, options);
plugin.add_bindings();
plugin.create_ajax(context);
}
plugin.create_ajax = function(context){
$('form',context).addClass('modal-form');
$('.modal-form',context).on('submit',function(e){
e.preventDefault();
plugin.post_data($(this),context);
});
}
plugin.post_data = function(form,context){
var loaded = false;
var throbbed = false;
var _fd = new FormData();
var password = hex_sha512($('input[type="password"]',context).val());
_fd.append('password',password);
function checkComplete(){
if(loaded && throbbed){
$('.ajax-loader').remove();
}
}
function requestComplete(){
loaded = true;
checkComplete();
}
$.ajax({
url:form.attr('action'),
type: form.attr('method'),
data: _fd,
contentType: false,
cache: false,
processData: false,
success: function(data){
requestComplete();
console.log(data);
},
beforeSend: function(){
var loading = "<img src='images/loader.gif' class='ajax-loader'>";
$('.modal-footer',context).append(loading);
$('.ajax-loader').css({
height: '15px',
'vertical-align': 'middle',
margin: '0px 5px'
});
setTimeout(function(){
throbbed = true;
checkComplete();
},2000);
},
complete: requestComplete()
});
console.log(plugin.settings.form);
}
plugin.init();
}
$.fn.modalLoad = function(options){
return this.each(function(){
if(undefined == $(this).data('modalLoad')){
var plugin = new $.modalLoad(this, options);
$(this).data('modalLoad', plugin);
}
});
}
})(jQuery);
HTML
<div class="modal fade" id="login-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false">
<div class="modal-dialog">
<div class="modal-content">
<form action="<?php echo 'http://'.base_url('authentication.php');?>" method="POST">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Login</h4>
</div>
<div class="modal-body">
<div class="modal-space">
<label class="email">
<input type="text" name="email" value="" placeholder="Email*" data-constraints="@Required @Email" id="regula-generated-387495">
</label>
</div>
<div class="modal-space">
<label class="password">
<input type="password" name="password" value="" placeholder="Password*" data-constraints="@Required @Email" id="regula-generated-387495">
</label>
</div>
</div>
<div class="modal-footer">
<input type="submit" class="btn btn-primary btn-1 btn-1__mod-1" value="LOGIN">
</div>
</form>
</div>
</div>
</div>
现在,我想用sha512加密密码字段,然后用ajax按照下面的说明发送。
实际上,我将表单数据序列化到数组中,并希望覆盖在defaults.form对象中设置的密码数组。
但即使是我也无法从defaults.form中获取数据,表单数据应该存储在.中
如果我在console.log中打印defaults.form,可能吗?每个人都能告诉我该修哪一部分吗?还请告诉我如何整理我的代码?
感谢提前
请确保在您的html代码中,所有输入都在标记表单中。否则,您将在defaults.form中从表单数据序列化中获得丢失的值。您能在这里显示您的html码吗?
相关文章:
- 替换并打印jquery formData值
- 只有JQuery使用FormData
- 通过jQuery和FormData的Ajax POST请求-PHP上的$_POST为空
- Angularjs:错误:'追加'对未实现接口FormData的对象调用.jQuery.param/ad
- 415 使用 JQuery/FormData 和 Web API 的不受支持的媒体类型
- 重图像未上传 Ajax/Jquery,FormData 为空
- JQuery/AAJAX文件使用FormData上传,文件不发布
- Javascript/jQuery Append to FormData()返回'未定义'
- 如何在jquery中将变量添加到FormData中
- FormData与jQuery#serialize(),有什么区别
- 在使用PHP和jQuery上传图像时声明新的formData()
- 使用jQuery ajax发送给服务器的formData对象成功后返回空数组
- Jquery -在ajax和FormData之后单击事件停止工作
- 使用Mozilla FormData与jquery $.ajax调用
- 使用jQuery发送multipart/formdata.ajax在IE中
- 使用jQuery AJAX通过FormData上传文件
- JQuery:如何使用dropzone.js将多个文件放入formData中,并通过ajax发送
- jquery AJAX post formdata到节点,结果是空的request .body
- Jquery: Push FormData?
- 使用jQuery AJAX发送带有二进制数据的FormData