簡體   English   中英

Onchange不起作用

[英]Onchange doesn't work

大家好,我知道onchange不會被解雇,如果您以編程方式填寫文本框,我將如何做到這一點。

我有兩個只讀的文本框,當您單擊時,將顯示一個日期選擇器。

我有開始日期和結束日期作為我的文本框。

我希望startdate值更改時將startdate值復制到enddate值中。

謝謝大家的幫助,我也是javascript和jQuery的新手

我的代碼

我使用此代碼只是為了查看當我更改值時是否可以打個招呼

<script>
function fireEvent(element,event){
    if (document.createEventObject){
        // dispatch for IE
        var evt = document.createEventObject();
        return element.fireEvent('on'+event,evt)
    }
    else{
        // dispatch for firefox + others
        var evt = document.createEvent("HTMLEvents");
        evt.initEvent(event, true, true ); // event type,bubbling,cancelable
        return !element.dispatchEvent(evt);
    }
}
</script>

<td width="228" align="left" valign="top" bgcolor="#D8ABAD">From:

    <label for="input1"></label>
    <input type="text" name="startdate" id="startdate" required="required" value="04/12/2014"/>
    <script>
        obj = document.getElementById("startdate");
        Event.observe(obj,'change',function(){alert('hi');});
        fireEvent(obj,'change');
    </script>
</td>
<td width="23" align="center" valign="top" bgcolor="#D8ABAD">To:</td>
<td width="267" align="left" valign="top" bgcolor="#D8ABAD">
    <label for="enddate"></label>
    <input type="text" name="enddate" id="enddate" required="required" value="04/12/2014"/>
</td>

嘗試使用addEventListener()代替Event.observe() ,並且將fireEvent函數未定義為函數,因為不要將function字放在function前面。

javascript應該是這樣的

function fireEvent(element,event) { 
    if (document.createEventObject) { // dispatch for IE 
        var evt = document.createEventObject(); 
        return element.fireEvent('on'+event,evt);
    } else { // dispatch for firefox + others 
        var evt = document.createEvent("HTMLEvents"); 
        evt.initEvent(event, true, true ); // event type,bubbling,cancelable 
        return !element.dispatchEvent(evt); 
    } 
}

obj = document.getElementById("startdate");
obj.addEventListener('change',function(){alert('hi');}, false);
fireEvent(obj,'change');

小提琴: http//jsfiddle.net/XB3RK/

僅當用戶更改輸入值時才觸發onchange事件。 如果以編程方式更改輸入,則不應觸發。

從任何設置該值的函數中調用該函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM