【问题标题】:trying to auto submit form after text input尝试在文本输入后自动提交表单
【发布时间】:2013-04-05 16:21:00
【问题描述】:

这是表单的执行方式:

   <script>
    $(document).ready(function(){

    $("#submit").click(function(){

        //access token stuff
        var token = $("#link_input").val(); ... etc</script>

.

我正在尝试在超过 10 个字符后自动提交此信息。通常,您在输入字段中填写文本区域,然后单击提交。单击提交按钮后,JS 将验证输入框中的文本,如果有效,则执行。如何在不点击提交按钮的情况下自动提交输入框中的文本?

<script language="JavaScript" type="text/JavaScript"> 
var x=10;//nr characters 
function submitT(t,f){ 
if(t.value.length==x){ 
f.submit() 
} 
} 
</script> 


                    <input id="link_input" onkeyup="submitT(this,this.form)" autofocus="true" autocomplete="off" placeholder="http://www.facebook.com/connect/login_success.html#access_token=AAAZDCiOS6Ls0BAMUKJDvLZCTgZDZD" style="width: 600px;margin-left: -11%;" value="" name="url">

                    <br/>



<div id="Wait" style="display:none;"><center>Processing your form<br><img src="http://i.imgur.com/kKqSe.gif"></center></div>

                    <br/>


                    <center>
                    <a href="javascript:void(0)" id="submit" onkeyup="submitT(this,this.form)" autofocus="true"><img src="http://i.imgur.com/eA6fv.png" style="border:0px;padding-top:5px;"></a>

【问题讨论】:

  • this.form 是假的。通过document.getElementById('yourFormId')获取表格

标签: php javascript jquery ajax forms


【解决方案1】:
$('#link_input').on('keyup', function() { 
    if($(this).val().length > 10) {
        $('form').submit();
    }
});

【讨论】:

  • 我要更改和替换什么?
  • @computerquotes 很好,我的建议是删除您当前的所有混乱,创建一个完整的结构化表格。在您的表单中,输入您要提交的表单,如果输入超过 10 个字符,则输入 id link_input
【解决方案2】:

只需针对与您已有的类似的 keyup 进行测试。

<form action='someplace' id='myform' method='post'>
  <input type='text' id='link_input' ...other stuff />
</form>

jquery:

$('#link_input').on('keyup',function(){
  var val = $(this).val();
  var len = val.length;

  if(len == 10){
    $('#myform').submit();
  }
});

【讨论】:

  • 我假设“某个地方”是指一个 php 文件。该脚本应该是客户端
  • @computerquotes 'someplace' 是您想要发送信息的任何地方。通常,人们提交表单以将信息发送到后端脚本,例如 php 或任何语言。您是否尝试将此提交到 javascript?
  • 是的。输入字段中包含的信息应该在客户端处理
  • @computerquotes 好的。那么就没有理由提交了。 jquery/javascript 可以从输入中获取信息并在不提交的情况下对其进行处理。您究竟想如何处理输入信息?
  • @computerquotes 不要忘记在服务器的另一端验证长度,没有javascript的用户可以轻松绕过。
【解决方案3】:

将您的 btn 从 submit 重命名为 btnSubmit。

submit的id会和f.submit()搞混

【讨论】:

    猜你喜欢
    • 2019-10-16
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    相关资源
    最近更新 更多