如何禁用textarea和超链接

时间:2012-01-31 01:59:59

标签: html css

我有一个表,用户可以在其中添加行,但每行都有编号。现在,用户在实际开始添加行之前,在文本框中输入他/她想要添加的行数。下面是代码,如果已添加的行数超过用户输入的行数,则会停止添加行。

    if (qnum > <?php echo (int)@$_POST['textQuestion']; ?>) {
    return;
}

示例:如果用户在文本框中输入数字5,则用户只能添加5行,如果用户尝试添加另一行,则不会添加任何行,因为用户无法添加超过5行。

我的问题是,如果用户已经达到了他们添加的最大行数,那么我希望它禁用textarea(用户无法在textarea中单击,我想给它正确的颜色这样你就可以告诉textarea被禁用了)。我还想禁用一个超链接,以便用户无法点击超链接(再次适当的颜色更改,以便用户可以告诉超链接被禁用)有谁知道如何做到这一点?

下面是hyperling和textarea的代码:

    <table id="question">
    <tr>
        <th colspan="2">
            Question Number <span id="questionNum">1</span>
        </th>
    </tr>
    <tr>
        <td rowspan="3">Question:</td> 
        <td rowspan="3">
            <textarea id="questionTextArea" rows="5" cols="40" name="questionText"></textarea>
<span href="#" class="link">[Question link]</span>
        </td>
    </tr>
    </table>

Jquery代码显示如何添加表行的示例:

function insertQuestion(form) {   

      var questionarea=(form.questionText.length)
                ? form.questionText[0]
                : form.questionText;

            var context = $('#optionAndAnswer');
    var currenttotal = context.find('.answerBtnsOn').length;        

        alertErrors = "";
        // Note, this is just so it's declared...


    if (questionarea.value == ""){

    if (qnum > <?php echo (int)@$_POST['textQuestion']; ?>) {
    return;
}

    var $tbody = $('#qandatbl > tbody'); 
    var $tr = $("<tr class='optionAndAnswer' align='center'></tr>");
    var $qid = $("<td class='qid'>" + qnum + "</td>");

$tr.append($qid);
 $tbody.append($tr);    

}

将表行添加到的Html表:

<table id="qandatbl" align="center">
<thead>
<tr>
    <th class="qid">Question No</th>
</tr>
</thead>
<tbody></tbody>
</table>

看看这个jsfiddle例如here,您可以使用textarea在顶部写一个问题,当您完成后,然后单击按钮将其添加到新行中。它是我想要在行数达到限制时禁用的顶级文本区域。

1 个答案:

答案 0 :(得分:0)

您是通过JavaScript / Ajax还是在页面加载时添加行?

如果前者(我猜你的第一个代码示例说明),使用JavaScript计数器来表示行数,当它们触发添加行功能(你写的)时,先检查一下这个数字;警报和禁用相应:

jQuery允许你禁用表单元素,只需用链接文本(即减去标签)替换链接,并使用$(ele).css()调用或通过包装来修改它的颜色在span标签中。

如果是后者,您可以通过PHP编写textarea,并将disabled =“disabled”属性添加到开始标记中。链接:使用与上面相同的方法(将其包装在span标记中,而不是标记)。


// To disable
$('.someElement').attr('disabled', 'disabled');

// To enable
$('.someElement').removeAttr('disabled');

显然,您需要包含jQuery框架。我通常使用Google的https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js