仅当指定的样式存在时,用JavaScript验证字段-不使用jQuery验证
Validate field with JavaScript only if specified style is present - no jQuery Validate
我有一个表单,只有在选中相应的单选按钮时才需要字段。我把这个网站插入有太多的问题与jQuery,所以我希望做的验证只有JavaScript -我不能得到jQuery验证插件正确工作。我是JavaScript和jQuery的初学者。
列表元素中包含的字段根据单选按钮使用jQuery显示/隐藏。列表元素以内联的"display: none;"开始。是否有一种方法与JavaScript,我可以运行验证,只有当列表项的内联样式与id是"显示:块"?
我在这上面花了太长时间,快疯了。
这是我的HTML: <form name="pancettaForm" method="post" action="http://lizlantz.com/lcform.php" id="pancettaForm" onsubmit="return validateForm()">
<input type="hidden" value="Pancetta Order Update" name="subject">
<input type="hidden" value="cookware/partners_10151_-1_20002" name="redirect">
<ul>
<li>
<label for="updateShip">I'd like to:</label>
<input id="ship-address" name="updateShip" type="radio" value="update-ship-address" class="required"/> Have pancetta shipped to a different address than my skillet<br />
<input id="ship-date" name="updateShip" type="radio" value="update-ship-date" class="required" /> Have pancetta shipped sooner than June 14, 2013 <br />
<input id="ship-both" name="updateShip" type="radio" value="update-both" class="required"/> Make changes to both the shipping address and shipping date
</li>
<li>
<label for="order-number"><em>*</em>Order Number (available in order confirmation email):</label>
<input type="text" name="order-number" class="required">
</li>
<li>
<label for="full-name"><em>*</em>Recipient Full Name:</label>
<input type="text" name="full-name" class="required">
</li>
<li id="address" style="display: none;">
<label for="address">
<em>*</em>Address
</label>
<input type="text" name="address">
<label for="address2">
Address Line 2
</label>
<input type="text" name="address2">
</li>
<li id="address2" style="display: none;">
<label for="city">
<em>*</em>City
</label>
<input type="text" name="city">
<label for="state">
<em>*</em>State
</label>
<select name="state">
<option>- Select State -</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
</select>
<label for="zip">
<em>*</em>Zip Code
</label>
<input type="text" name="zip">
</li>
<li id="new-ship-date" style="display: none;">
<label for="New Ship Date"><em>*</em>New Ship Date (Saturday-Tuesday delivery not available):</label>
<select name="newShip" id="newShip">
<option>- Select -</option>
<option value="Wednesday, May 22">Wednesday, May 22</option>
<option value="Thursday, May 23">Thursday, May 23</option>
</select>
</li>
<li>
<label for="phone">
<em>*</em>Phone (for delivery questions)
</label>
<input type="text" name="phone" class="required">
</li>
</ul>
<input type="submit" id="button" name="submit" value="Update Pancetta">
</form>
这是我使用的jQuery:
$j(document).ready(function() {
$j('#pancettaForm').change(function () {
$j('#address,#address2,#new-ship-date').hide();
if ($j('#ship-address').prop('checked')) {
$j('#address, #address2').show();
}
else if ($j('#ship-date').prop('checked')) {
$j('#new-ship-date').show();
}
else if ($j('#ship-both').prop('checked')) {
$j('#address, #address2, #new-ship-date').show();
}
});
});
,这是目前为止我的验证脚本的一般结构:
function validateForm()
{
var x=document.forms["pancettaForm"]["order-number"].value;
if (x==null || x=="")
{
alert("Please provide your order number.");
return false;
}
var x=document.forms["pancettaForm"]["full-name"].value;
if (x==null || x=="")
{
alert("Please provide your full name.");
return false;
}
var x=document.forms["pancettaForm"]["Address1"].value;
if (x==null || x=="")
{
alert("Please provide your address.");
return false;
}
var x=document.forms["pancettaForm"]["city"].value;
if (x==null || x=="")
{
alert("Please provide your city.");
return false;
}
if( document.pancettaForm.state.value == "- Select State -" )
{
alert( "Please provide your state." );
return false;
}
var x=document.forms["pancettaForm"]["zip"].value;
if (x==null || x=="")
{
alert("Please provide your zip code.");
return false;
}
var x=document.forms["pancettaForm"]["Zip_Code"].value;
if (x==null || x=="")
{
alert("Please provide your zip code.");
return false;
}
if( document.pancettaForm.newShip.value == "- Select Date -" )
{
alert( "Please select the size of the product you would like to register. " );
return false;
}
}
可以这样使用
var display= document.getElementById('someID').style.display;
if(display=='block')
{
//do validation here.
}
示例
相关文章:
- 验证Javascript中的Textarea
- 表单验证JavaScript编号总是返回false
- 验证javascript中的输入没有'不起作用
- 验证JavaScript中是否存在变量
- 验证javascript中的输入是否在2个数字之间
- 禁止的正则表达式._或.-(电子邮件验证/javascript)
- 表单验证Javascript没有响应
- 用于验证 JavaScript 中的字母数字值的正则表达式
- 如何使用正则表达式验证 JavaScript 中的自定义 URL
- 按 ID 验证 JavaScript 中的列表框和单选按钮
- 如何验证 JavaScript 和 html 代码
- 表单验证 - Javascript 删除空格电话号码
- 用于验证 JavaScript 中的条件的正则表达式
- 仅当浏览器无法验证表单时才使用表单验证 JavaScript
- 多个复选框验证 JavaScript
- 验证 Javascript 中的多个部分
- 使用 Jquery 验证 JavaScript 对象是否为空
- 警报框中的基本验证 Javascript
- 登录验证 JavaScript 无法正常工作
- 验证 JavaScript 正则表达式