成功后明确文字价值?

这是在WordPress网站上。 我使用以下php从输入框中获取用户的电子邮件并将其添加到我的mailchimp列表中。 有一个js和php页面可以处理所有繁重的mailchimp内容,但这不应该对我的问题很重要:

listSubscribe($list_id, $_GET['email'], '') === true) { // It worked! return 'Success! Check your email to confirm sign up.'; }else{ // An error ocurred, return error message return 'Error: ' . $api->errorMessage; } } // If being called via ajax, autorun the function if($_GET['ajax']){ echo storeAddress(); } ?> 

然后在用户输入电子邮件的页面上,它会获取响应并显示消息结果。 这是那部分:

 
<form id="signup" action="" method="get" >
$(document).ready(function() { $("#emailSubmit").click(function() { $('#response').fadeIn(1500).delay(3500).fadeOut(1500); }); });

我的问题很简单。 如何实现某些function,以便在成功后返回“成功!检查您的电子邮件以确认注册”的消息。 它只是清除输入框的值而不是预先填充它? 输入框id是“email”。

我想我需要用。 val("")不知何故,但我不知道如果它成功的话我怎么能清除它。

一个简单的解决方案是

PHP

 if($api->listSubscribe($list_id, $_GET['email'], '') === true) { // It worked! return 'Success! Check your email to confirm sign up.'; }else{ // An error ocurred, return error message return 'Error: ' . $api->errorMessage; } 

JS

 $(document).ready(function() { if($('.success').length > 0) { $('#email').val(''); } }); 

编辑:完整的ajax解决方案

 $(document).ready(function() { var clearOnSuccess = function() { if ($('.success').length > 0) { $('#email').val(''); } }; clearOnSuccess(); $('#signup').submit(function() { var data = $(this).serializeArray(); data.push({'name': 'ajax', 'value': 1}); var jqXHR = $.ajax({ url: $(this).attr('action'), type: $(this).attr('method'), data: data }); jqXHR.done(function(data) { $('#response').html(data).fadeIn(1500).delay(3500).fadeOut(1500); clearOnSuccess(); }); return false; }); });