【问题标题】:jQuery - Keyboard Enter to behave as a - click on a label button?jQuery - 键盘输入表现为 - 单击标签按钮?
【发布时间】:2012-03-21 13:35:06
【问题描述】:

我在一个特定的 PHP 页面上进行了某种 jquery 聊天。当然,在聊天区域下方有一个输入字段(jquery 表单),在您单击标签 id 按钮后,jQuery 会获取您的单词、用户名,将数据存储到 MySql 并再次重新加载聊天。有趣的轻巧整洁。为什么你一定要喜欢 jquery。

无论如何,最重要的是,“按钮”不是提交按钮 - 它是一个“标签 ID”按钮。

这很好,但是当你进入那个聊天时,突然按下回车键,你点击了一个标签按钮 - PHP 页面只是刷新并且对数据没有任何作用,这让每个人都发疯了。

那么,任何热门提示如何发送键盘输入作为点击该标签 ID 按钮?


更新:

<form id="chav_box_in" style="padding:0px;margin:0px;" action="" method="post">
      <div class="chav_level" valign="top"><input type="hidden" id="chav_in" name="chav_in" value="'.$categoryid.'" />
      ' . $lg['your_nick'] . ':&nbsp;&nbsp;';
    if($userinfo['loggedin'])
    {
        if($getnamen = $DB->query_first("SELECT userid, jur_name FROM " . TABLE_PREFIX . "users WHERE userid = '".$userinfo['userid']."'"))
        {
        echo '<input type="hidden" id="chav_username" name="chav_username" value="'.$getnamen['jur_name'].'" /><span class="chav_name">'.$getnamen['jur_name'].'</span>';
        }
        else
        {
    echo '<input type="hidden" id="chav_username" name="chav_username" value="'.$getnamen['userid'].'" /><span class="chav_name">Registered undefined ('.$getnamen['userid'].')</span>';
        }
    echo '<input type="hidden" id="chav_lag" name="chav_lag" value="1" />';
    }

    else // unergs
    {
        if($nemere) //cookieid
        {
        echo '<input type="hidden" id="chav_username" name="chav_username" value="'.$nemere.'" /><span class="chav_name">'.$nemere.'</span>';
        }
        else   //nov upisivac
        {
        echo '<input type="text" size="' . $inputsize . '" id="chav_username" name="chav_username" value="" />';
        }
    }

echo '&nbsp;&nbsp;' . $lg['occ_place'] . ':&nbsp;';

// ##########
    if($categoryid == 6)
    {
    echo '<input type="text" size="' . $inputsize . '" id="chav_sub" name="chav_sub" value="" /></div>';
    }
    else
    {
    echo '<input type="hidden" id="chav_sub" name="chav_sub" value="'.$url_places_name.'" /><span class="chav_name">'.$url_places_name.'</span></div>';
    }


    echo '<div class="chav_level">' . $lg['chav_input'] . '&nbsp;&nbsp;<input type="text" size="' . ($inputsize*5) . '" id="wm1" name="wm1" value="" />
     &nbsp;<label id="shareButton1" class="enter" style="display:inline;float:right;">' . $lg['publish'] . '</label></div>';


    echo '</form>

现在,当我在该输入字段中输入内容并按 Enter 键时,页面会刷新.. 不介意我清理它的一团糟.. AND 查询

$(function () {
$('chav_box_in').keypress(function(e) { // Attach the form handler to the keypress event
    if (e.keyCode == 13) { // If the the enter key was pressed.
        $('#shareButton1').click(); // Trigger the button(elementId) click event.
        return e.preventDefault(); // Prevent the form submit.
    }
});
});

【问题讨论】:

  • 您在其中编写消息的 HTML 元素是什么?
  • 您在选择器中缺少#$('chav_box_in') => $('#chav_box_in')
  • THAAAAAAAAAAAAAAAAAAAAANX gdoron:DDDD

标签: php jquery


【解决方案1】:
$('form').keypress(function(e) { // Attach the form handler to the keypress event
    if (e.keyCode == 13) { // If the the enter key was pressed.
        $('#elementId').click(); // Trigger the button(elementId) click event.
        return e.preventDefault(); // Prevent the form submit.
    }
}​);​

现在您可以在聊天中变得很热,并且输入会像单击按钮一样为您工作...我认为无论如何都应该这样工作。

【讨论】:

  • 替换form,还是替换#elementId?
  • @Mathletics。 elementId 你必须替换为实际的 id。更改form 取决于您是否要禁用所有表单的keyboard- enter 提交。我在每一行都添加了 cmets。希望你喜欢。
  • cmets 看起来不错。你原来的帖子把它们弄混了,因此我的评论。很好的保存。
  • 并且在该输入内部生成了一个 jquery 水印.. 将其删除但没有骰子.. GOSH stackoverflow 这些是什么类型的 cmets!使用起来多么痛苦!
  • @约瑟夫。那些线是什么。问题是什么?
猜你喜欢
  • 2012-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-01
  • 2015-12-06
  • 2021-08-29
  • 2016-07-25
相关资源
最近更新 更多