我想利用一些jquery函数来发送消息,比如有一个模态对话框,但我也希望包含不运行javascript的用户。
如果我有一个jquery函数来处理对话框但是用户没有启用javascript,那么最好的方法是将它们重定向到我的PHP页面来编写和发送消息吗?
我假设jquery代码具有最高优先级,因为它是客户端,但是我将PHP代码包装在标签中吗?
有更优雅的解决方案吗?
答案 0 :(得分:2)
我认为我在这里要做的就是利用按钮的onclick事件。您可以使用javascript或jquery返回false。如果浏览器关闭了javascript,则会提交表单。
<input type="button" onclick="return btnClick()" value="submit">
然后在你的javascript中像
function btnClick(){
//do ajaxy stuff
return cancelEvent()
}
function cancelEvent()
{
if (window.event) window.event.cancelBubble = true;
return false;
}
答案 1 :(得分:2)
您要做的是制作一个普通的HTML表单:
<form action="submit.php" method="POST" id="sendMessage">
<input id="msg" name="message" type="text" />
<button type="submit">Submit</button>
</form>
然后使用jQuery覆盖提交功能:
$('#sendMessage').submit(function(e){
e.preventDefault(); // Stops the browser from submitting the form normally
// Do stuff...
});
因此,如果启用了JavaScript,jQuery将处理表单提交。它未启用,浏览器将正常POST表单。