为什么 <button type="submit"> 不起作用?
Why wont <button type="submit"> work?
我有一个标准的 HTML 表单,但按钮不起作用。我知道它指向正确的页面,据我所知,一切看起来都很完美。
它让我点击按钮,但没有任何反应,它没有将我定向到 send.php
页面或任何东西。
<form method="post" action="http://www.URL.net/send.php">
<p>
<label for="name">Name <span class="required">*</span></label>
<input type="text" name="name" id="name">
</p>
<p>
<label for="email">Email <span class="required">*</span></label>
<input type="text" name="email" id="email">
</p>
<p>
<label for="subject">Subject</label>
<input type="text" name="subject" id="subject">
</p>
<p>
<label for="subject">Message <span class="required">*</span></label>
<textarea name="message" id="message" cols="45" rows="10"></textarea>
</p>
<div class="fBtn">
<button type="submit" name="submit" id="submit" class="regButton"><i class="icon-paper-plane"></i>Send Message</button>
</div>
</form>
此外,我也尝试过使用 <input type="submit" name="submit" id="submit" class="regButton" value="Send Message" />
,但由于某些奇怪的原因它也无法正常工作。
在 Chrome 和 IE11 中测试。
编辑这是表单验证的JS:
$('#submit').click(function(){
$('input#name').removeClass("errorForm");
$('textarea#message').removeClass("errorForm");
$('input#email').removeClass("errorForm");
var error = false;
var name = $('input#name').val();
if(name == "" || name == " ") {
error = true;
$('input#name').addClass("errorForm");
}
var msg = $('textarea#message').val();
if(msg == "" || msg == " ") {
error = true;
$('textarea#message').addClass("errorForm");
}
var email_compare = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i;
var email = $('input#email').val();
if (email == "" || email == " ") {
$('input#email').addClass("errorForm");
error = true;
}else if (!email_compare.test(email)) {
$('input#email').addClass("errorForm");
error = true;
}
if(error == true) {
return false;
}
var data_string = $('.contactForm form').serialize();
$.ajax({
type: "POST",
url: $('.contactForm form').attr('action'),
data: data_string,
success: function(message) {
if(message == 'SENDING'){
$('#success').fadeIn('slow');
}
else{
$('#error').fadeIn('slow');
}
}
});
return false;
});
您似乎有一些 JavaScript 可以使用 AJAX 自动提交每个表单。由于您在域 trishajohnson.net
上,same-origin policy 阻止 JavaScript 打开对(稍微)不同的域的请求 – www.trishajohnson.net
.
不过,有一个简单的解决方法——只需使用路径部分即可。反正比较干净
<form method="POST" action="/tj/send.php">
我有一个标准的 HTML 表单,但按钮不起作用。我知道它指向正确的页面,据我所知,一切看起来都很完美。
它让我点击按钮,但没有任何反应,它没有将我定向到 send.php
页面或任何东西。
<form method="post" action="http://www.URL.net/send.php">
<p>
<label for="name">Name <span class="required">*</span></label>
<input type="text" name="name" id="name">
</p>
<p>
<label for="email">Email <span class="required">*</span></label>
<input type="text" name="email" id="email">
</p>
<p>
<label for="subject">Subject</label>
<input type="text" name="subject" id="subject">
</p>
<p>
<label for="subject">Message <span class="required">*</span></label>
<textarea name="message" id="message" cols="45" rows="10"></textarea>
</p>
<div class="fBtn">
<button type="submit" name="submit" id="submit" class="regButton"><i class="icon-paper-plane"></i>Send Message</button>
</div>
</form>
此外,我也尝试过使用 <input type="submit" name="submit" id="submit" class="regButton" value="Send Message" />
,但由于某些奇怪的原因它也无法正常工作。
在 Chrome 和 IE11 中测试。
编辑这是表单验证的JS:
$('#submit').click(function(){
$('input#name').removeClass("errorForm");
$('textarea#message').removeClass("errorForm");
$('input#email').removeClass("errorForm");
var error = false;
var name = $('input#name').val();
if(name == "" || name == " ") {
error = true;
$('input#name').addClass("errorForm");
}
var msg = $('textarea#message').val();
if(msg == "" || msg == " ") {
error = true;
$('textarea#message').addClass("errorForm");
}
var email_compare = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i;
var email = $('input#email').val();
if (email == "" || email == " ") {
$('input#email').addClass("errorForm");
error = true;
}else if (!email_compare.test(email)) {
$('input#email').addClass("errorForm");
error = true;
}
if(error == true) {
return false;
}
var data_string = $('.contactForm form').serialize();
$.ajax({
type: "POST",
url: $('.contactForm form').attr('action'),
data: data_string,
success: function(message) {
if(message == 'SENDING'){
$('#success').fadeIn('slow');
}
else{
$('#error').fadeIn('slow');
}
}
});
return false;
});
您似乎有一些 JavaScript 可以使用 AJAX 自动提交每个表单。由于您在域 trishajohnson.net
上,same-origin policy 阻止 JavaScript 打开对(稍微)不同的域的请求 – www.trishajohnson.net
.
不过,有一个简单的解决方法——只需使用路径部分即可。反正比较干净
<form method="POST" action="/tj/send.php">