我有几个文本框和按钮来保存它们的值在网页上。文本框的onchange事件触发了一些js,这些js将更改后的文本添加到js数组中。单击确定按钮将其通过web服务刷新到数据库。这工作正常,除了当onchange事件是由点击确定按钮造成的。在这种情况下,文本框的onchange仍会触发,但按钮的onClick事件不会。有任何想法吗?按钮OnClick事件不会触发,当它导致文本框onChange事件首先触发
文本框看起来像
<input name="ctrlJPView$tbcTabContainer$Details$JP_Details_Address2Text" type="text" value="test"
id="ctrlJPView_tbcTabContainer_Details_JP_Details_Address2Text" onchange="addSaveDetails('Jobs###' + document.getElementById('ctrlJPView_tbcTabContainer_Details_JP_Details_Address2Text').value + ');" style="font-size:8pt;Left:110px;Top:29px;Width:420px;Height:13px;Position:absolute;" />
我保存按钮
<input type="button" name="ctrlJPView$btnOk" value="OK" onclick="saveAmendments();refreshJobGrids();return false;__doPostBack('ctrlJPView$btnOk','')" id="ctrlJPView_btnOk" class="ControlText" style="width:60px;" />
更新:我想这可以归结为两件事情之一。 1)在按钮的onClick被调用以抑制该调用之前发生了某些事情,例如无意中返回false;或者2)onClick事件根本不会触发。现在我已经清除了事先调用的函数中的所有内容,但问题仍然存在。但是,如果我完全删除了通话,它可以正常工作(???)
正在追加__doPostBack,因为在我的.net代码中,我将输入的useSubmitBehavior设置为false。保存之后的函数是saveAmendments函数,它在返回false之前应该已经执行。你会认为这可能是失败的文本框onchange事件,但从调试它不会出现。我已经缩小了从本质上没有任何功能。 – user48408 2009-10-01 12:53:47