代码之家  ›  专栏  ›  技术社区  ›  Goldie

Javascript:提交对textarea的更改无效

  •  0
  • Goldie  · 技术社区  · 8 年前

    提交更改 文本区域

    我用浏览器控制台对它进行了调试,但还没有弄清楚它是如何出错的。 期望的行为应该是 改变

    以下是以Javascript为特色的HTML片段(我暂时忽略CSS创建的演示):

    <form>
        <input type="button" value="Change" id="submitChange" disabled> 
           <textarea id="textChange" rows="10" cols="30" onchange="venueTextChange();"> Write something here </textarea>
            <script>
                function venueTextChange(){
                            var val document.getElementById("textChange").disabled;
                            document.getElementById("submitChange").disabled = !val; 
                        };
        </script>
    </form>
    

    :我还想知道如何重构这段代码,这样我就可以以这样一种方式将这个脚本外部化< &燃气轮机;标签不必设置函数 显式地在元素中-我想隐藏它,但对于这种情况,我认为必须包含属性 .

    也许是这样

    2 回复  |  直到 8 年前
        1
  •  1
  •   stefannew    8 年前

    部分问题在于 onChange 事件仅在元素失去焦点时触发,即当用户更改文本并模糊字段时:

    https://www.w3schools.com/jsref/event_onchange.asp

    你需要使用类似 keyup onInput 为了让事件立即触发,是的-为了不必调用 onchange

    https://jsfiddle.net/25xmka43/

        2
  •  0
  •   TalGabay    8 年前

    这是答案: 只需更改venueTextChange()函数!val为false。

    <form>
        <input type="button" value="Change" id="submitChange" disabled> 
           <textarea id="textChange" rows="10" cols="30" onchange="venueTextChange()"> Write something here </textarea>
            <script>
                function venueTextChange(){
                            document.getElementById("submitChange").disabled = false; 
                        };
        </script>
    </form>