使用ajax javascript提交表单数据

时间:2014-12-12 17:53:51

标签: javascript jquery html ajax

我无法使用ajax / javascript设置将数据异步发送到PHP脚本进行处理。我将PHP部分留在这里,因为我无法启动javascript,并且一旦我能够正常工作,我将很乐意自己攻击PHP。

我的下面是我的... the nailthumb& colorbox的东西不是这个场景的一部分,他们做其他事情,我应该注意它们工作正常。它是.ajax-like,它发挥作用,没有任何执行。我尝试添加一个alert()进行故障排除,但它永远不会触发:(意图是当按下onclick()的链接时,会发生魔法!

有人能说出为什么javascript没有解雇吗?

<script type="text/javascript">

            jQuery(document).ready(function() {
                jQuery('.nailthumb-container').nailthumb({width:300,height:140,titleWhen:'load',fitDirection:'center center'});
                $('a.btn-screenshot').colorbox({
                    rel: 'nofollow'
                    });
                $('a.image').colorbox({
                    rel: 'colorbox-group',
                    maxWidth: '75%',
                    scalePhotos: true,
                    titleScrolling: true
                    });

                $(".ajax-like").submit(function(){
                    alert("Initial part going...");
                    var data = {
                      "action": "like"
                      };
                    data = $(this).serialize() + "&" + $.param(data);
                    $.ajax({
                      type: "POST",
                      dataType: "json",
                      url: "galleryajax.php", //Relative or absolute path to response.php file
                      data: data,
                      success: function(data) {
                        alert("Form submitted successfully.\nReturned json: " + data["json"]);
                      }
                      });
                    return false;
                    });
            });
</script>

这是HTML本身的表格......

<span class="thumb-comment">
            <form class="ajax-like" method="post" accept-charset="utf-8">
              <input type="hidden" name="mcname" value="'.$row['MCName'].'" placeholder="Favorite restaurant" />
              <input type="hidden" name="galleryid" value="'.$row['GalleryID'].'" placeholder="Favorite beverage" />
                <a onclick="form.submit();">
                <i class="fa fa-heart"></i>

                0</a>
                </form>
            </span>

2 个答案:

答案 0 :(得分:2)

$(".ajax-like").submit()

这实际上等待你的提交事件形式.ajax-like。

首先,删除此<a>代码。

要开始此活动,您需要提交输入等内容。

<input type="submit" />

如果您需要像示例中那样设置输入样式,则可以使用<button type="submit"><i class="fa fa-heart"></i>0</button>而不是输入。

答案 1 :(得分:0)

在您的表单中添加<input type='submit'>,而不是&#39; a&#39;标记,以便事件处理程序提交&#39;被执行。您可以使用按钮添加图标:

<form class="ajax-like" method="post" accept-charset="utf-8">
  <input type="hidden" name="mcname" value="'.$row['MCName'].'" placeholder="Favorite restaurant" />
  <input type="hidden" name="galleryid" value="'.$row['GalleryID'].'" placeholder="Favorite beverage" />
  <button type='submit'>
     <i class="fa fa-heart"></i>
     0
  </button>
</form>