繁体   English   中英

在不使用<input type =“text”>的情况下创建输入文本框

[英]Create a input textbox without using <input type=“text”>

我想创建一个不需要<input type="text">表单元素的输入文本框。 用户仍然可以在此文本框中键入文本,仍然可以使用Javascript / jQuery检索值。 这样做的原因是因为这个文本框将采用一种形式,一旦提交,所有表单输入值将被发送到服务器端进行处理,并且有这个文本框我不希望它的值自动发送到服务器端。

问题:在不依赖HTML表单元素input情况下创建此类文本框的最佳方法是什么?

只是不要给<input type="text">标记一个name属性,它不会提交。 这是一个例子:

<input type="text" id="myinput" value="you will not see this submitted" />

你也可以使用一个可信的div。

来自MDN:

<!DOCTYPE html>
<html>
  <body>
    <div contenteditable="true">
      This text can be edited by the user.
    </div>
  </body>
</html> 

http://html5demos.com/contenteditable

如果你通过jQuery创建动态<input type="text"> - 它将回发它的值。

如果重新发布其价值,您还在乎什么? 只是不要在服务器端对它们做任何事情。

要么 ,

在提交之前 - 将类型从输入更改为标签。 (+保存值)

要么 ,

如果你将输入OUTSIDE FORM元素添加 - 它不会提交。

你可以使用textarea而不是input 然后申请stss与css。 您也可以使用输入标签,只需将其保留在<form></form>然后就不会将其发送到服务器。

只是创建输入,不要给它一个nameid

$("#form").bind('submit', function() {
  $(this).children('input[name=excludethisfield]').attr('disabled', true);
});

我知道这不是你提出的具体问题,但可能是最简单的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM