Tôi xin lỗi vì tiêu đề của câu hỏi này vì tôi biết nó có vẻ hơi rộng. Thật không may, tôi vẫn còn thực sự mới để jquery và tôi đã có rất nhiều sự giúp đỡ trong quá khứ để thực hiện công việc này, và bây giờ tôi muốn thay đổi mọi thứ và tôi khá trong đầu của tôi.cần trợ giúp hợp nhất jquery cũ với biểu mẫu web mới
Tôi có một trang web sống ở đây: http://www.rattletree.com Có biểu mẫu đăng ký bản tin nơi người dùng nhấp vào hộp email, tên và trường thành phố thả xuống cũng được điền. Điều này tất cả hoạt động tốt, nhưng cách nó hoạt động ngay bây giờ, thông tin được gửi trực tiếp đến địa chỉ email của tôi và tôi cần phải tự nhập người vào chương trình tiếp thị email của chúng tôi. Bây giờ tôi muốn có thông tin này được gửi trực tiếp đến chương trình tiếp thị qua email của chúng tôi bằng cách lấy thông tin cần thiết từ mã nhúng do chương trình cung cấp. Tôi đã làm việc trên nó trong một vài ngày, và đôi khi tôi quản lý để có được thông tin được gửi đến chương trình và không giấu các div và đôi khi tôi quản lý để ẩn các div và không nhận được mẫu gửi đúng. Tôi bị mất một chút. Tôi hy vọng ai đó có thể giúp tôi hợp nhất hai điều này.
Dưới đây là đoạn code làm việc cho trang web sống hiện tại đang gửi đến địa chỉ email của riêng tôi:
(trong tiêu đề)
<div class="outeremailcontainer">
<div id="emailcontainer">
<?php include('verify.php'); ?>
<form action="../index_success.php" method="post" id="sendEmail" class="email">
<h3 class="register2">Newsletter Signup:</h3>
<ul class="forms email">
<li class="name">
<label for="yourName">Name: </label>
<input type="text" name="yourName" class="info" id="yourName" value="<?php echo $_POST['yourName']; ?>" /><br />
</li>
<li class="city"><label for="yourCity">City: </label>
<input type="text" name="yourCity" class="info" id="yourCity" value="<?php echo $_POST['yourCity']; ?>" /><br />
</li>
<li class="email">
<label for="emailFrom">Email: </label>
<input type="text" name="emailFrom" class="info" id="emailFrom" value="<?php echo $_POST['emailFrom']; ?>" />
<?php if(isset($emailFromError)) echo '<span class="error">'.$emailFromError.'</span>';
?>
</li>
<li class="buttons email">
<button type="submit" id="submit">Send</button>
<input type="hidden" name="submitted" id="submitted" value="true" />
</li>
</ul>
</form>
<div class="clearing">
</div>
</div>
</div>
Kịch bản:
$(document).ready(function() {
$('#emailFrom').focus(function() {
if ($('#overlay').length) {
return;
} // don't keep adding overlays if one exists
$('#sendEmail').find('.name, .city').slideDown(300, function() {
$(this).show();
});
$('.outeremailcontainer').css({
position: 'relative',
bottom: 0,
left: 0,
zIndex: 1001
});
$('<div id="overlay"></div>').appendTo('body');
});
$('#overlay').live('click', function() {
$('#sendEmail').css({
backgroundColor: 'transparent'
}).find('.name, .city').slideUp(300);
$('.outeremailcontainer').css({
position: 'static'
});
$('#overlay').remove();
});
});
trong bao gồm ở cuối trang:
$(document).ready(function() {
$("#submit").click(function() {
$(".error").hide();
var hasError = false;
var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
var emailFromVal = $("#emailFrom").val();
if (emailFromVal == '') {
$("#emailFrom").after('<span class="error"><br />You forgot to enter the email address to send from.</span>');
hasError = true;
} else if (!emailReg.test(emailFromVal)) {
$("#emailFrom").after('<span class="error"<br />>Enter a valid email address to send from.</span>');
hasError = true;
}
var yourNameVal = $("#yourName").val();
if (yourNameVal == '') {
$("#yourName").after('<span class="error"><br />You forgot to enter your name.</span>');
hasError = true;
}
var yourCityVal = $("#yourCity").val();
if (yourCityVal == '') {
$("#yourCity").after('<span class="error"><br />You forgot to enter your city.</span>');
hasError = true;
}
if (hasError == false) {
$(this).hide();
$("#sendEmail li.buttons").append('<img src="/wp-content/themes/default/images/template/loading.gif" alt="Loading" id="loading" />');
$.post("/includes/sendemail.php",
//emailTo: emailToVal,
{
emailFrom: emailFromVal,
yourName: yourNameVal,
yourCity: yourCityVal
},
function (data) {
$("#sendEmail").slideUp("normal", function() {
$("#sendEmail").before('<h3 class="register2">Thank you! You\'re on the email list!</h3><p class="emailbox">Click <a href="http://rattletree.com/Songs/Live_EP/Chikende.mp3">HERE</a> for your free song.</p>');
});
}
);
}
return false;
});
});
Và cuối cùng ở đây là mã mà chương trình tiếp thị email đang cung cấp nơi tôi muốn gửi tên ở trên, thành phố và thông tin xin gửi đến:
<form action="https://madmimi.com/signups/subscribe/66160" method="post" id="mad_mimi_signup_form">
<fieldset>
<div class="mimi_field text email required">
<label for="signup_email">Email</label>
<input id="signup_email" name="signup[email]" type="text" placeholder="[email protected]" class="required">
<div class="mimi_field_feedback"></div><span class="mimi_funk"></span>
</div>
<div class="mimi_field text required">
<label for="signup_name" id="wf_label">Name</label>
<input id="signup_name" name="signup[name]" type="text" class="required">
<div class="mimi_field_feedback"></div><span class="mimi_funk"></span>
</div>
<div class="mimi_field text required">
<label for="signup_city" id="wf_label">City</label>
<input id="signup_city" name="signup[city]" type="text" class="required">
<div class="mimi_field_feedback"></div><span class="mimi_funk"></span>
</div>
<div class="mimi_field action">
<input id="webform_submit_button" value="Sign up!" type="submit" class="submit" data-default-text="Sign up!" data-submitting-text="Sending…" data-invalid-text="? You forgot some required fields">
</div>
</fieldset>
</form>
Cảm ơn bạn rất nhiều sự giúp đỡ nào!
nhanh gợi ý. Biểu mẫu và phần tử con của chúng không được sử dụng tên hoặc id đầu vào xung đột với thuộc tính của biểu mẫu, chẳng hạn như gửi, thời lượng hoặc phương thức. Xung đột tên có thể gây ra những thất bại khó hiểu. Từ: http://api.jquery.com/submit/ –
Vì vậy, bạn muốn gửi biểu mẫu của mình trực tiếp đến https://madmimi.com/? Đó sẽ là một POST tên miền chéo, yêu cầu CORS. Điều này chưa được hỗ trợ bởi tất cả các trình duyệt. Bạn không thể gửi một POST từ mã PHP của bạn đến chương trình đánh dấu của bạn? – BuddhiP
@ BuddhiP-Tôi tò mò về mức độ thiếu hỗ trợ cho việc này. Trình duyệt nào không hỗ trợ tính năng này? Mã mẫu được cung cấp bởi Madmimi (và một số địa chỉ email chính khác như Constant Contact, vv), vì vậy nó có vẻ giống như một cái gì đó hầu hết mọi người không quá quan tâm. Tôi nghĩ rằng Madmimi cung cấp một API, nhưng tôi không biết bất cứ điều gì về nó .... Ít nhất với phiên bản firefox của tôi, tôi đã có thể gửi thông tin đến máy chủ của họ tại một thời điểm ... – Joel