我有这几乎工作位:http://jsfiddle.net/HFzkW/ 我的代码如下所示:的JavaScript - 禁用提交按钮,直到3个字段不为空
<div id="cform-container">
<div class="alignleft" id="cform">
<form action="<?php print site_url('/sent'); ?>" method="POST" >
<input type="hidden" name="Contact-Form" value="contact-form" />
<div class="cform-row">
<div class="alignleft cform-label"><label for="yn">Your Name</label><span id="star5">*</span></div>
<div class="alignright cform-ti"><input type="text" name="yn" id="yn" /><br /><span id="namespan" value="0"></span></div>
<div class="clearboth"></div>
</div>
<div class="cform-row">
<div class="alignleft cform-label"><label for="cn">Company Name</label></div>
<div class="alignright cform-ti"><input type="text" name="cn" id="cn" /></div>
<div class="clearboth"></div>
</div>
<div class="cform-row">
<div class="alignleft cform-label"><label for="em">Email Address</label><span id="star5">*</span></div>
<div class="alignright cform-ti"><input type="text" name="em" id="em" /><br /><span id="emailspan" value="0"></span></div>
<div class="clearboth"></div>
</div>
<div class="cform-row">
<div class="alignleft cform-label"><label for="ph">Phone Number</label><span id="star5">*</span></div>
<div class="alignright cform-ti"><input type="text" name="ph" id="ph" /><br /><span id="phonespan" value="0"></span></div>
<div class="clearboth"></div>
</div>
<div class="cform-row">
<div class="alignleft cform-label"><label for="ct">Industry</label></div>
<div class="alignright cform-ti"><input type="text" name="ct" id="ct" /></div>
<div class="clearboth"></div>
</div>
<div class="cform-row">
<div class="alignleft cform-label"><label for="msg">Message</label></div>
<div class="alignright cform-ti"><textarea name="msg" id="msg"></textarea></div>
<div class="clearboth"></div>
</div>
<div id="cform-btn"><input type="submit" value="Submit" /></div>
</form>
</div>
<script id="source" language="javascript" type="text/javascript">
$(function(){
$("input[type=submit]").attr("disabled", "disabled");
$("#em").blur(function()
{
var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
var emailaddress = $("#em").val();
if(!emailReg.test(emailaddress) | emailaddress=="") {
$("#emailspan").html('<font color="#cc0000">Please enter valid Email address</font>');
}else{
$("#emailspan").html('<font color="#cc0000"></font>');
}
});
$("#yn").blur(function()
{
var namefield = $("#yn").val();
if(namefield=="") {
$("#namespan").html('<font color="#cc0000">Please enter your name</font>');
}else{
$("#namespan").html('<font color="#cc0000"></font>');
}
});
$("#ph").blur(function()
{
var phonefield = $("#ph").val();
if(phonefield=="") {
$("#phonespan").html('<font color="#cc0000">Please enter your name</font>');
}else{
$("#phonespan").html('<font color="#cc0000"></font>');
}
});
$('input, textarea').change(function(){
var validation;
var email = $("#em").val();
var name = $("#yn").val();
var phone = $("#ph").val();
if (email == "" && name == "" && phone == "") {
validation = false;
} else if (email != "" && name != "" && phone != "") {
alert ("variables"+email+name+phone);
validation = true;
}
if (validation = true) {
$("input[type=submit]").removeAttr("disabled");
} else {
$("input[type=submit]").attr("disabled", "disabled");
}
});
});
我不能让它完全然而工作。当用户输入其中一个字段(例如您的姓名)时,提交按钮不再被禁用。
我想保持提交按钮被禁用,直到满足所有3个“必需”字段。我认为代码非常清晰 - 但它仍然无法正常工作。
此外,它在JSFiddle中工作,但不工作在我试图让它工作的Wordpress网站。任何想法检查,也将不胜感激。
优秀。这很有用!我会尽可能标记你的答案。脑屁肯定让我看不到那个逻辑错误! – Hanny 2013-04-22 22:31:32