输入字段在链接顶部

时间:2014-06-02 18:07:02

标签: javascript php jquery html mobile

我环顾四周寻找答案,但过了一会儿却找不到任何东西。我正在运行jQuery mobile并且有一个列表视图,其中包含一些我想要成为链接和输入字段的列表。但是当我点击在文本字段中输入时,它也会自动按下按钮。

基本上我尝试做的是拥有一个用户可以修改的输入表单,然后让他们点击表单外的任何地方来提交更改。

无论如何都要绕过这个?

echo "<li data-icon='false'>![enter image description here][1]
    <a href='javascript: updateName()'> Name of Conversation: 
        <form name='name' action='update.php' method='post'>
            <input type='text' name='name' id='name' value='" . $this->conversation->get_name() . "'/>
        </form>
    </a>
</li>";

如果有人想知道updateName()的作用:

function updateName(){
    document.name.submit();
}

2 个答案:

答案 0 :(得分:0)

您已将input包裹在<a>标记中。当您点击<input>时,点击事件会冒泡到<a>并触发updateName

您可以为输入的click事件绑定处理程序并调用event.stopPropagation()以防止事件冒泡到父<a>,如下所示:

document.getElementById('name').addEventListener('click',function(e){
 e.stopPropagation();
});
function updateName(){
 document.name.submit();
}

答案 1 :(得分:0)

您应该只将一个侦听器附加到您的字段的blur事件,这将在您的字段失去焦点时触发。在做任何事情之前,只需检查用户是否已将某些内容放入字段中,否则在错误的时刻出现的任何点击或标签都会让您感到很不安。

对于它周围的链接,我无法理解你为什么要这样做。如果你真的需要一个链接,请把它放在你的领域旁边,但不能放在那里。