我创建了一些代码,以使用自定义重定向将第3方表单转换为jQuery AJAX。在重定向页面上,捕获了来自表单的用户名。问题是我只能捕获一次该名称。如果我尝试重复代码以多次显示该名称,那么它将无法正常工作。
非常感谢您的帮助!
------Javascript for the submit button------
window.CFS = window.CFS || {};
(function () {
"use strict";
CFS.msgPleaseWait = 'Please wait...';
CFS.msgRedirect = 'Redirecting...';
CFS.nameField = '';
CFS.nameFromSubmitField = '';
CFS.redirectTo = '';
CFS.submitButtonText = '';
CFS.submitHandler = function(form) {
var $form = $(form);
var dataToPost = $form.serialize();
var urlToPostTo = $form.attr("action");
var $submitButton = $("input[type='submit']", $form);
CFS.submitButtonText = $submitButton.val();
CFS.disableSubmit($submitButton);
$.ajax({
type: 'POST',
url: urlToPostTo,
data: dataToPost,
success: function(data) {
if (CFS.redirectTo) {
$submitButton.val(CFS.msgRedirect);
if (CFS.nameField) {
var nameFieldVal = '';
if ($("input[name='" + CFS.nameField + "']", $form)) {
nameFieldVal = $("input[name='" + CFS.nameField + "']", $form).val();
}
if (nameFieldVal) {
CFS.setCookie('name', nameFieldVal, 60);
}
}
window.location.replace(CFS.redirectTo);
} else {
CFS.enableSubmit($submitButton);
}
},
error: function() {
console.log('Campaigner.com error!');
CFS.enableSubmit($submitButton);
}
});
}
CFS.disableSubmit = function($button) {
$button.attr("disabled", "disabled");
$button.val(CFS.msgPleaseWait);
}
CFS.enableSubmit = function($button) {
$button.val(CFS.submitButtonText);
$button.removeAttr("disabled");
}
CFS.setCookie = function(name, value, seconds) {
var d = new Date();
d.setTime(d.getTime() + (seconds * 1000));
var expires = 'expires=' + d.toUTCString();
document.cookie = name + '=' + value + ';' + expires + ';path=/';
}
CFS.getCookie = function(name) {
name += '=';
var ca = document.cookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return '';
}
CFS.setNameFromSubmit = function() {
if (CFS.nameFromSubmitField) {
var elem = document.getElementById(CFS.nameFromSubmitField);
var savedName = CFS.getCookie('name');
if (elem && savedName) {
elem.innerHTML = savedName;
}
}
}
})();
------Name Field Captured-----
<p>Hello my name is <span id="nameFromSubmit">NAME HERE</span>
<script src="custom-submit.js" type="text/javascript"></script>
<script type="text/javascript">
if ((typeof CFS !== 'undefined') && CFS.setNameFromSubmit) {
CFS.nameFromSubmitField = 'nameFromSubmit';
CFS.setNameFromSubmit();
}
</script>