当前位置: 首页 > 知识库问答 >
问题:

表单提交-php ajax jquery ui-将不会在Firefox或IE上执行

曹旭
2023-03-14

我有一个下拉表单,其中有四个选项的列表,用户可以从中选择。选择选项并单击“在公共聊天中播发”按钮后,需要将选项值(1、2、3、4)传递给播发。php?Advertised=1(2、3或4),而不刷新页面。在公共聊天中点击广告后,我想看到一条信息,上面写着“message sent to Chat!”用户可以点击OK。

我的问题:

代码不会在Firefox或Internet Explorer上执行(我已经在Debian Linux上尝试过了)


    <!DOCTYPE html>
    <html>
    <body>
        <form id="myform" action="" method="post">
            <select name="Type">
                <option value="1">(1 on 1)</option>
                <option value="2">(2 on 2)</option>
                <option value="3">(3 on 3)</option>
                <option value="4">(4 on 4)</option>
            </select>
            <input type="submit" value="Advertise in Public Chat">
        </form>
        <div id="message"><h2>This will change when the request is sent</h2></div>

        <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript" ></script>
        <script type="text/javascript">
            $(document).ready(function(event) {
              $('form').on('submit', function(){
                  event.preventDefault();        
                  var myVal = $('select[name="Type"]').val();
                  $.ajax({
                    type: "GET",
                    url: "advertise.php",
                    data: {
                        advertise: myVal
                    }
                  }).done(function( response ) {
                    // response is equal to what advertise.php will echo/print
                    $('#message h2').html("Message sent to Chat!");
                      });
              });
          });
        </script>

    </body>
    </html>

共有3个答案

慕容宏邈
2023-03-14

这样你就可以在advertise.php中访问$_GET['广告']

更新

第一次我忘了在数据声明中放大括号,现在它可以工作了


    <script type="text/javascript">
    $('#myForm').on('submit', function(e){
        e.preventDefault();        
        var myVal = $('select[name="Type"]').val();
        $.ajax({
          type: "GET",
          url: "advertise.php",
          data: {
              advertise: myVal
          },
          success: function() {
            $('#message').html("<h2>Message sent to Chat!</h2>");
          }
        });
    });
    </script>

更新2我刚刚在本地测试了这个,它的工作假设是广告。php与此文件处于同一级别。


    <!DOCTYPE html>
    <html>
    <body>
        <form id="myform" action="" method="post">
            <select name="Type">
                <option value="1">(1 on 1)</option>
                <option value="2">(2 on 2)</option>
                <option value="3">(3 on 3)</option>
                <option value="4">(4 on 4)</option>
            </select>
            <input type="submit" value="Advertise in Public Chat">
        </form>
        <div id="message"><h2>This will change when the request is sent</h2></div>

        <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript" ></script>
        <script type="text/javascript">
            $(document).ready(function() {
              $('form').on('submit', function(event){
                  event.preventDefault();        
                  var myVal = $('select[name="Type"]').val();
                  $.ajax({
                    type: "GET",
                    url: "advertise.php",
                    data: {
                        advertise: myVal
                    }
                  }).done(function( response ) {
                    // response is equal to what advertise.php will echo/print
                    $('#message h2').html("Message sent to Chat!");
                      });
              });
          });
        </script>

    </body>
    </html>

鲁华灿
2023-03-14

而不是使用

<input type="submit" value="Advertise in Public Chat">

你可以用

<input type="button" id="submit-btn" value="Advertise in Public Chat">

对于ajax,您可以这样做:

$("#submit-btn").click(function(){
  $.ajax({
   type: "POST",
   url: "advertise.php",
   data: dataString,
   success: function() {
    $('#message').html("<h2>Message sent to Chat!</h2>")
   }
  });
});
});
孟昊空
2023-03-14

如果您提交表单,页面将被刷新。您必须停止或阻止表单提交事件的默认操作。下面是一个使用jquery的示例:

$('#myForm').on('submit', function(e){
    e.preventDefault();
    // your ajax function
});
 类似资料:
  • 问题内容: 我希望HTML表单在提交后不执行任何操作。 这是不好的,因为它会导致页面重新加载。 基本上,我希望每当按下按钮或有人在键入数据后单击“输入”时都调用ajax函数。是的,我可以删除表单标签并添加,只需从按钮的onclick事件中调用该函数即可,但是我也希望“命中进入”功能而不会引起任何麻烦。 问题答案: 通过在通过“提交”按钮调用的javascript中使用,可以停止提交表单。 基本上,

  • 问题内容: 单击后,我编写了以下代码以禁用网站上的提交按钮: 不幸的是,它没有发送表格。我怎样才能解决这个问题? 编辑 我想绑定提交,而不是表格:) 问题答案: 做到: 发生的事情是您实际上在完全触发该提交事件之前禁用了该按钮。 您可能还应该考虑使用ID或CLASS来命名元素,因此不要在页面上选择所有提交类型的输入。 (请注意,我使用,因此该表单在示例中并未实际提交;请在使用时将其保留。)

  • 问题内容: 我有一个沼泽标准的登录表单-使用HTML / jQuery的AIR项目上的电子邮件文本字段,密码字段和提交按钮。当我在表单上按Enter键时,整个表单的内容消失了,但是表单没有提交。有谁知道这是Webkit的问题(Adobe AIR使用Webkit的HTML)还是我捆绑了东西? 我试过了: 但这既没有停止清算行为,也没有提交表格。没有与表单相关的操作-可能是问题吗?我可以在动作中添加J

  • 问题内容: 我正在尝试创建一个(使用),但仅在IE中受支持。 有什么方法可以使其在Chrome或FF中运行?我需要读取特定给定文件夹中的所有文件,并将其列出。 好吧,还有另一种方法吗? 问题答案: ActiveX仅受IE支持-其他浏览器使用称为NPAPI的插件体系结构。但是,有一个跨浏览器插件框架称为Firebreath,您可能会发现它有用。

  • 问题内容: 我在尝试使用内包装创建with时遇到了一些麻烦。 我注意到它在Firefox和IE 9中不起作用。 这是问题的摆弄。您会注意到它和Chrome或Opera一样都能正常工作。 代码有什么问题? 有什么办法解决吗? 我想保留和的父母,以便将内容垂直放置在可变高度的容器上。 HTML CSS 问题答案: 为了工作,所有父容器必须为。如果您注意到,则您的样式没有。 添加此样式可解决Firefo

  • 下面是MultistepForm的代码。我已经实现了一个多步骤表单功能,所以这里一切都很好,只是问题是在这个表单中,我在最后一步有一个预览页面,所以当我点击提交按钮时,表单正在消失,按钮正在顶部移动。所以如果有人能帮我请。