最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - onblur event on table td - Stack Overflow

programmeradmin0浏览0评论

I am using the code below to populate data using data table.

I want to edit data on one of the column and after editing I have to validate the value using onblur event.

I tried calling onblur event on td element but didn't get it .

Any help to achive this is greatly appreciated.

 <table id='abc' border="1">
        <thead>
                <tr>
                    <th>Part Number</th>
                    <th>Quantity</th>
                </tr>
        </thead>

            <tbody>
             <c:forEach items="${uploadData.partsList}" var="part">
                <tr>
                    <td><c:out value="${part.partNumber}" /></td>
                    <td class="editableColumn" style="background-color:white"><c:out      value="${part.quantity}"/>
</td>

                </tr>
            </c:forEach>
        </tbody>
   </table>

I am using the code below to populate data using data table.

I want to edit data on one of the column and after editing I have to validate the value using onblur event.

I tried calling onblur event on td element but didn't get it .

Any help to achive this is greatly appreciated.

 <table id='abc' border="1">
        <thead>
                <tr>
                    <th>Part Number</th>
                    <th>Quantity</th>
                </tr>
        </thead>

            <tbody>
             <c:forEach items="${uploadData.partsList}" var="part">
                <tr>
                    <td><c:out value="${part.partNumber}" /></td>
                    <td class="editableColumn" style="background-color:white"><c:out      value="${part.quantity}"/>
</td>

                </tr>
            </c:forEach>
        </tbody>
   </table>
Share Improve this question edited Jan 8, 2015 at 16:01 user2258887 asked Jan 8, 2015 at 15:32 Karibasappa G CKaribasappa G C 2,7322 gold badges20 silver badges27 bronze badges 2
  • In contrast to MSIE--in which almost all kinds of elements receive the blur event--almost all kinds of elements on Gecko browsers do NOT work with this event. developer.mozilla/en-US/docs/Web/API/… – emerson.marini Commented Jan 8, 2015 at 16:03
  • possible duplicate of Detect loss of focus in JavaScript – emerson.marini Commented Jan 8, 2015 at 16:03
Add a ment  | 

3 Answers 3

Reset to default 5

Onblur will fire if your TD has a tabindex attribute.

I appreciate what you are trying to do here Karibasappa, and, I try not to be one that tells someone they are doing it the 'wrong' way. In this case, however, the TD support for the onblur event is limiting your ability to acplish your need. It may be worth looking into changing the way input data is handled (as Gareth mentioned), maybe by changing the element type to a more traditional input field when the TD, or an embedded container element is clicked. You should find that using traditional models will make your application more patible, and that is something pretty important in the web-application world.

Again, I do appreciate all attempts to get things that don't traditionally work well, working well. It should be our nature :)

I look forward to reading the final solution.

If you are editing data the onblur should go onto the editable fields such as an input, a td won't fire on an onblur event, except in IE.

发布评论

评论列表(0)

  1. 暂无评论
ok 不同模板 switch ($forum['model']) { /*case '0': include _include(APP_PATH . 'view/htm/read.htm'); break;*/ default: include _include(theme_load('read', $fid)); break; } } break; case '10': // 主题外链 / thread external link http_location(htmlspecialchars_decode(trim($thread['description']))); break; case '11': // 单页 / single page $attachlist = array(); $imagelist = array(); $thread['filelist'] = array(); $threadlist = NULL; $thread['files'] > 0 and list($attachlist, $imagelist, $thread['filelist']) = well_attach_find_by_tid($tid); $data = data_read_cache($tid); empty($data) and message(-1, lang('data_malformation')); $tidlist = $forum['threads'] ? page_find_by_fid($fid, $page, $pagesize) : NULL; if ($tidlist) { $tidarr = arrlist_values($tidlist, 'tid'); $threadlist = well_thread_find($tidarr, $pagesize); // 按之前tidlist排序 $threadlist = array2_sort_key($threadlist, $tidlist, 'tid'); } $allowpost = forum_access_user($fid, $gid, 'allowpost'); $allowupdate = forum_access_mod($fid, $gid, 'allowupdate'); $allowdelete = forum_access_mod($fid, $gid, 'allowdelete'); $access = array('allowpost' => $allowpost, 'allowupdate' => $allowupdate, 'allowdelete' => $allowdelete); $header['title'] = $thread['subject']; $header['mobile_link'] = $thread['url']; $header['keywords'] = $thread['keyword'] ? $thread['keyword'] : $thread['subject']; $header['description'] = $thread['description'] ? $thread['description'] : $thread['brief']; $_SESSION['fid'] = $fid; if ($ajax) { empty($conf['api_on']) and message(0, lang('closed')); $apilist['header'] = $header; $apilist['extra'] = $extra; $apilist['access'] = $access; $apilist['thread'] = well_thread_safe_info($thread); $apilist['thread_data'] = $data; $apilist['forum'] = $forum; $apilist['imagelist'] = $imagelist; $apilist['filelist'] = $thread['filelist']; $apilist['threadlist'] = $threadlist; message(0, $apilist); } else { include _include(theme_load('single_page', $fid)); } break; default: message(-1, lang('data_malformation')); break; } ?>