我有一个下拉表单,其中有四个选项的列表,用户可以从中选择。选择选项并单击“在公共聊天中播发”按钮后,需要将选项值(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>
这样你就可以在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>
而不是使用
<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>")
}
});
});
});
如果您提交表单,页面将被刷新。您必须停止或阻止表单提交事件的默认操作。下面是一个使用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的代码。我已经实现了一个多步骤表单功能,所以这里一切都很好,只是问题是在这个表单中,我在最后一步有一个预览页面,所以当我点击提交按钮时,表单正在消失,按钮正在顶部移动。所以如果有人能帮我请。