使用Javascript可能的IF语句?

时间:2011-10-24 13:27:39

标签: javascript jquery asp.net

我正在.net网站上工作,我有点情况。

说我有......

<input type="text" class="name" id="name">
<p></p>

<input type="text" class="surname" id="surname">
<p>Error!</p>

使用javascript,我喜欢做的是检测第二段标记是否显示“错误!”并在它之前的输入标记中添加一个类。

我知道这似乎是一种奇怪的工作方式,但任何建议都将不胜感激!


大家好,我得到的adivce和答案在jsfiddle的新页面上工作得很好,但我似乎无法让他们在我的实际网站上工作。

我的P和输入标签就像这样构建....

<li class="yourdetli">
<label class="yourdet">Street Name</label>
<input type="text" id="ctl00_ContentPlaceHolder1_TB_SName" name="ctl00$ContentPlaceHolder1$TB_SName">
    <span style="color: Red; display: none;" class="errorp" id="ctl00_ContentPlaceHolder1_RequiredFieldValidator6">
    <p>You must complete this field</p></span>
</li>

我的JS是......

<script type="text/javascript">
    $(document).ready(function() {
        $('p:contains("You must complete this field")').prev('input').addClass('error');
    });
</script>

只是出于某些原因它似乎没有添加我的课程,任何人都可以看到为什么?

5 个答案:

答案 0 :(得分:2)

您可以使用

$('p:contains("Error")').prev('input').addClass('error');

答案 1 :(得分:1)

也许试试

$("p:eq(1):contains('Error!')").prev('input').addClass('error');    

答案 2 :(得分:0)

您可以使用jQuery检查第二个<p>标记的文本值。你需要一个找到它的选择器(在这个例子中,它是最后一个<p>标签)。

if ($("p").last().text() == "Error!") {
    $("input#surname").addClass("myClass");
    // do other stuff here
}

答案 3 :(得分:0)

尝试 -

if ($("input#surname").next("p:contains('Error!')").length > 0) {
      $("input#surname").addClass('yourclass');  
} 

答案 4 :(得分:0)

我建议将error css类添加到验证程序的CssClass属性中,以便它已经呈现给服务器端。这样,如果您更改错误消息,则无需更改任何javascript即可显示它。

<asp:RequiredFieldValidator ID="requiredValidator" CssClass="error" ControlToValidate="..." ErrorMessage="You must complete this field"/>

或者,如果您希望使用相同的类设置所有验证器的样式,可以将以下脚本添加到母版页。

$(document).ready(function()
{
    if (Page_Validators != null)
    {
        for (i = 0; i < Page_Validators.length; i++)
        {
            Page_Validators[i].className = "error";
        }
    }
});

有关详细信息,请参阅http://www.jrummell.com/blog/index.php/2009/08/apply-the-same-css-class-to-all-validators-in-a-web-project/