树视图留言板 - 禁用提交按钮不适用于儿童

时间:2017-04-04 00:33:10

标签: javascript php jquery treeview parent-child

以下更正......

我有一个留言板(如对话树),它有父消息和子消息。我已经实现了下面的jquery,当输入框中没有输入任何内容时,它会禁用提交按钮。它适用于父提交按钮(#sendcomment输入框),但不适用于子项(也是#sendcomment输入框)。有任何想法吗?

<div id="defaultcontainerwrapper" class="maxwidth">
    <div class="messageList" style="margin-top:10px; margin-left:30px;">
            <?php foreach($this->messageList as $k=>$message){
                $postId=$message['postId'];
                if($message['depth']!=0){
                    $depth=$message['depth'];
                    do{
                        echo(": . . ");
                        $depth--;
                    }
                    while($depth!=0);
                }
                ?>

        <span class="viewThread">
            <a style="color:#cd6b2e;text-decoration:underline; cursor:pointer; cursor: hand;"
               onclick="<?php echo "javascript:ajaxView(" . $postId . ");"; ?>"><?php echo $message['content'] ? nl2br(substr($message['content'], 0, 30)) . '...' : ''; ?></a>
            <?php echo htmlspecialchars("<");?><a style="color:grey;"><?php echo $message['posterName'];?></a><?php echo htmlspecialchars(">")."&nbsp".$message['date']."<br/>\n";?>
        </span>

                <div class="displayPanel" id="<?php echo $postId;?>" >
                    <div class="displayContent" >
                    </div>

                    <div class="RepForm-loggedin" >
                        <form name="RepForm" method="POST" action="<?php echo $this->newReply;?>">
                            <table name="RepFormTable" style="width:100%">
                                <script type="text/javascript" src="data/js/jquery_lib/jquery.min.js"></script>

                                <tr>
                                    <td style="width:100%">
                                        <input type="text" maxlength="75" id="repContent" class="inputbox inputbox-title placeholder-soc-med"
                                               name="repContent" placeholder="Add your comment here. . ."/>
                                        <span><input type="submit" id="sendComment" name="sendComment" class="dgrey-button cancel-button" value="Submit"></span>

                                    </td>
                                </tr>
                            </table>

                            <textarea style="display: none" name="content"></textarea>
                            <input type="hidden" value="<?php echo $this->tag ;?>" name="tag">
                            <input type="hidden" value="" name="parentId">
                            <input type="hidden" value="" name="depth">
                        </form>
                    </div>
                </div>
            <?php } ?>
        <div class="clear"></div>
    </div>
</div>



<script type="text/javascript">
$(document).ready(function(){

    var sendComment = document.getElementsByName("sendComment");
    var repContent = document.getElementsByName("repContent");
    $(sendComment).attr('disabled', true);
    $(repContent).keyup(function () {
        if ($(this).val().length != 0)
            $(sendComment).attr('disabled', false);
        else
            $(sendComment).attr('disabled', true);
    })

});

<script>

1 个答案:

答案 0 :(得分:0)

  

id属性指定其元素的唯一标识符(ID)。该值必须在元素的主子树中的所有ID中唯一,并且必须至少包含一个字符。该值不得包含任何空格字符。   https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#the-id-attribute

如果您愿意,可以附加父{4}}等父邮件ID,然后使用选择器$("[id*=sendComment]")查询其ID包含&#34; sendComment&#34;

的所有元素