Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
表单提交-php ajax jquery ui-将不会在Firefox或IE上执行_Php_Ajax_Jquery Ui - Fatal编程技术网

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

表单提交-php ajax jquery ui-将不会在Firefox或IE上执行,php,ajax,jquery-ui,Php,Ajax,Jquery Ui,我有一个下拉表单,其中有四个选项的列表,用户可以从中选择。选择后 然后单击“在公共聊天中播发”按钮,需要将选项值1、2、3、4传递给advision.php?advision=1、2、3或4 没有页面刷新。在公共聊天中点击广告后,我想要一条消息,上面写着“发送到聊天室的消息!”!用户可以点击OK 我的问题: 代码不会在Firefox或Internet Explorer上执行,我已经在Debian Linux和Windows PC上尝试过了——所有这些都有相同的结果。在Chrome\Opera上完

我有一个下拉表单,其中有四个选项的列表,用户可以从中选择。选择后 然后单击“在公共聊天中播发”按钮,需要将选项值1、2、3、4传递给advision.php?advision=1、2、3或4 没有页面刷新。在公共聊天中点击广告后,我想要一条消息,上面写着“发送到聊天室的消息!”!用户可以点击OK

我的问题:

代码不会在Firefox或Internet Explorer上执行,我已经在Debian Linux和Windows PC上尝试过了——所有这些都有相同的结果。在Chrome\Opera上完美运行

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

$('#myForm').on('submit', function(e){
    e.preventDefault();
    // your ajax function
});

这样,您就可以在advision.php中访问$\u GET['advision']

更新

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

<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 我刚刚在本地测试了这个文件,它的工作原理是假设advision.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> 而不是使用

<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>")
   }
  });
});
});

好吧,这是我在上面的例子中遇到的许多问题之一。谢谢。当我点击按钮时,页面刷新,我没有看到发送给聊天室的消息。我有jQueryUI库,然后是在head标记之间跟随它的脚本。知道jquery为什么没有加载吗?我认为有一个问题值得使用这个表单。该页面仍在刷新,我没有看到发送给聊天室的消息。使用完整的html和js进行更新,这对我在localI中的工作很好。我已经在3台不同的计算机上尝试了linux debian\windows,并且它仅在Chrome\Opera上执行。我甚至不认为jquery正在加载FF\IE,因为在我提交之后什么都没有发生。此jquery相关吗?请尝试更改$'form'。在'submit'上,函数{for$'form'。在'submit'上,函数事件{当我点击按钮时,页面会刷新,我看不到发送给聊天室的消息。我有jquery ui库,然后在head标记之间有它后面的脚本。知道为什么jquery没有加载吗?如果你使用firebug,请检查你得到的响应。根据你的代码,你没有使用任何id消息的元素,因此它可能会虽然ajax调用成功,但由于没有id消息的元素,您无法获得消息。我制作了这个演示,希望这能帮助您。php代码在fiddle注释中。