Javascript - Jquery / textbox,提交消失onblur

时间:2012-11-13 15:14:18

标签: javascript jquery html

这是my code。 一切正常,所以如果我在文本框外面单击它会回到默认大小,但是如果我点击提交按钮它也会回到正常大小并且不提交数据。有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

你必须注释掉这一行:

$("#sbutton_block").slideUp("fast");

并且在action属性中你必须将一个php页面名称写入Post变量。

这是您修改后的代码。 http://pastebin.com/LR4HyHv6

希望它有所帮助。

答案 1 :(得分:1)

首先你的代码不起作用,因为on blur函数会在按钮上单击事件之前触发 所以我换成了这个

<强> HTML

<form method="post" action="" onsubmit="return false;">
  <div id="vsetko">
      <textarea  id="scontent"></textarea>
      <div id="sbutton_block" style="display:none;">
          <input type="submit" id="sbutton" value=" Share " />
      </div>
  </div>
</form>​​​​

<强> CSS

#scontent {
  overflow: auto;
  width:722px;
  height:30px;
  border:solid 2px #006699;
  font-size:14px;
}

#sbutton{
  background-color:#006699;
  color:#ffffff;
  font-size:13px;
  font-weight:bold;
  padding:4px;
  margin-bottom: 5px;
}

<强> JQUERY

$(document).ready(function(){

  $("#scontent").focus(function(){
    $(this).animate({"height": "85px",}, "fast" );
    $("#sbutton_block").slideDown("fast");
    return false;
  });

  $("html").click(function(event){
    if ($(event.target).attr("id") != "scontent") {
      $("#scontent").animate({"height": "30px",}, "fast" );
      $("#sbutton_block").slideUp("fast");
      return false;
    }
  });

  $("#scontent").keypress(function(){
    var MaxLen = 250;
    return ($(this).val().length <= MaxLen);
  });

  $("#sbutton").click(function(){
    // do your stuff
    return false;
  });

});

所以整个html点击事件将取代焦点事件,然后你可以做保存数据
我在笔记本电脑上测试它工作正常

编辑: 我修改了html点击功能来检查要跳过的元素