【问题标题】:post data from form that was hidden using jquery从使用 jquery 隐藏的表单中发布数据
【发布时间】:2014-06-11 05:10:41
【问题描述】:

我有一个使用 jquery 隐藏的表单,点击时会显示。我想使用 php 发布数据,但点击提交时没有任何反应。查看代码

 <div class="col-12 col-sm-2 with-click-text">
<form name="contactform" method="post" action="">
<table class="click-text font-light "width="450px"  >
<tr>
<td>
  <label for="first_name">First Name *</label> 
 <input  type="text" name="first_name" maxlength="50" size="30">
 <label for="last_name">Last Name *</label> 
 <td valign="top">  <input  type="text" name="last_name" maxlength="50" size="30"> 
  <label for="email">Email Address *</label>
  <input  type="text" name="email" maxlength="80" size="30" required> 
  <label for="telephone">Telephone Number</label>
   <input  type="text" name="telephone" maxlength="30" size="30"> 
  <label for="comments">Comments *</label>
  <textarea  name="comments" maxlength="1000" cols="25" rows="6" required></textarea> 
   <input type="submit" name="mailit" id="submit" value="Submit"> 
  </form>
</td>
</tr>
</table>
</div>

if(isset($_POST['mailit'])) { echo"做某事";}

  $('.with-click-text').click(
    function(e) {
$(this).css('overflow', 'visible');
            $(this).find('.click-text')
                .show()
                .css('opacity', 0)
                .delay(200)
                .animate(
                    {
                        paddingTop: '25px',
                        opacity: 1
                    },
                    'fast',
                    'linear'
                );

    $("#submit").on("click",function(e){
    $(this).submit();

            });
            });

【问题讨论】:

  • 您尚未向 form 元素的 action 属性添加值。这需要处理表单的页面的URL。
  • “什么都没有发生”是指页面重新加载但不显示消息“做某事”,或者根本不提交?
  • 表单结束标签&lt;/form&gt;的位置不对。
  • 什么也没发生,我的意思是它不会发布@MarkS 并不会像 @user3554382 一样将其留空
  • @user3554382 如果表单提交到同一页面,那么 action 属性的空白值是完全有效的。

标签: php jquery forms


【解决方案1】:

您没有 ID 为 submit 的元素。更新你的函数;

....
$("input[type='submit']").on("click",function(){
    event.preventDefault();
    $(this).submit();

});

您可以在此处查看演示:Demo

【讨论】:

  • 那么防止默认然后提交有什么意义?更不用说他的表单即使没有js也应该提交,因为它是正常的表单。确实他的js错了,但是应该和表单提交无关
  • 我假设用户在提交之前会做一些事情。我在那里发出警报。这就是它被覆盖的原因
  • 谢谢@HüseyinBABAL 你是个天才!使用你的代码对我有用。谢谢
  • 实际上很抱歉问题仍然存在。它没有回显任何响应,只是弹出警报窗口?我完全不知道问题出在哪里@HüseyinBABAL
  • 您是否将表单发布到同一页面?
猜你喜欢
  • 2012-03-04
  • 1970-01-01
  • 2013-11-24
  • 2012-07-20
  • 1970-01-01
  • 1970-01-01
  • 2019-08-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多