javascript – 从动态textarea获取价值

在给定的代码中,我创建了一个动态textarea,现在当我尝试从该textarea获取插入值时.它给了我空值.

 <form name="myForm">
 <textarea name="fname" <%#!((GPNS.BusinessLayer.SpecialItems.SpecialItem)Container.DataItem).Code.Equals("OTH", StringComparison.InvariantCultureIgnoreCase) ? "style='display: none;'" : string.Empty%> id="text<%#((GPNS.BusinessLayer.SpecialItems.SpecialItem)Container.DataItem).ID%>" maxlength="50" placeholder="Enter other item details"></textarea>
 </form>

鉴于我的功能是从textarea框中获取价值:

 function ValidateData() {
            if ($("textarea").is(":visible")) {
                //var x = document.forms["myForm"]["fname"].value;
                var x = document.getElementsByName("fname").value;
                if (x == null || x == "") {
                    alert("Please Enter Other Item Details");
                    return false;
                }
            }
            else return true
        }

最佳答案 您的textarea是动态的,因此您可以使用textarea更改事件.您可以在加载时使用给定的代码,因此无论何时输入文本,它都会在OtherItemValue上设置:

var OtherItemValue;
 $("textarea").on('input change keyup', function () {
                if (this.value.length) {
                    OtherItemValue = this.value;
                } else {
                    OtherItemValue = "";
                }
            });

然后你可以使用下面的代码:

function ValidateData() {
    if ($("textarea").is(":visible")) {
 if (OtherItemValue == null || OtherItemValue == "") {
            alert("Please Enter Other Item Details");
            return false;
        }
    }
    else return true
}
点赞