I have a newsletter sign up form on my site which uses the following code:
<form action="http://kitronik.absolute-staging.co.uk/src/trunk/newsletter/subscriber/new/" method="post" id="newsletter-validate-detail">
<div class="block-content">
<div class="form-subscribe-header">
<label for="newsletter">Sign up to our newsletter to get the latest product and company information:</label>
</div>
<div class="input-box">
<input type="text" name="newsletter_name" id="newsletter_name" placeholder="Name" title="Name" class="input-text required-entry">
</div>
<div class="input-box">
<input type="text" name="newsletter_email" id="newsletter_email" placeholder="Email" title="Email" class="input-text required-entry validate-email">
</div>
<div class="actions">
<button type="submit" title="Sign Up" class="button"><span><span>Sign Up</span></span></button>
</div>
</div>
</form>
The form appears to submit, and I get no errors but there is no success/fail message and I can't see any record of the subscription in the database. Any ideas? Might I have missed a config setting somewhere?
Change
<div class="input-box">
<input type="text" name="newsletter_email" id="newsletter_email" placeholder="Email" title="Email" class="input-text required-entry validate-email">
</div>
to
<div class="input-box">
<input type="text" name="email" id="newsletter_email" placeholder="Email" title="Email" class="input-text required-entry validate-email">
</div>
Name should be 'email' if you use standard Magento controller. No need in newsletter_name input then - native controller will not get data from it. If you want to use input name "newsletter_email" and use "newsletter_name" somehow then you should create your own controller.