我有这个javascript函数:
function displayMessage() {
var message = $("#msg").val();
if (message == "") {
alert("You need to enter a message");//alert the user
return false;
}
postData = {
"message": message,
};
...
}
希望实现的是,如果输入字段为空,则显示警报并保留在函数中。如果不是则继续。 我的提交按钮链接到另一个页面,但无论if语句中发生了什么,都会显示此页面。
这是表格代码:
<form id="post" action="http://localhost:8080/uploadNewMessage" method="post">
<fieldset>
<div data-role="fieldcontain">
<label for="msg" class="input">Message:</label>
<input type="text" name="msg" id="msg" size="10"/>
</div>
<a href="profile-page.html" id="submit" data-role="button" data- theme="b">Submit</a>
</fieldset>
</form>
和完整的javascript代码只是包含:
$(document).ready(function() {
// 1. The Registration button
$("#submit").bind('click', function(event) {
displayMessage();
});
});
function doPostRequest(postData) {
$.ajax({
type: "POST",
url: URL,
dataType: "json",
data: postData
});
}
function displayMessage() {
var message = $("#msg").val();
if (message == "") {
alert("You need to enter a message");//alert the user
return false;
}
postData = {
"message": message,
};
...
doPostRequest(postData);
}
答案 0 :(得分:2)
您可以尝试这样的事情:
$("#submit").bind('click', function(event) {
var message = $.trim($("#msg").val());
if(!message.length) {
alert("You need to enter a message");
return false;
}
else {
event.preventDefault();
doPostRequest({"message":message});
}
});
答案 1 :(得分:1)
<强> demo 强>
$(function() {
$("#submit").on('click', function(event) {
event.preventDefault(); // prevent default anchor behavior
displayMessage();
});
});
还有:
function displayMessage() {
var message = $.trim( $("#msg").val() ); // trim whitespaces
if (message === "") {
alert("You need to enter a message");
}else{ // Use the else statement
doPostRequest({
"message" : message
});
}
}
答案 2 :(得分:0)
通过event
事件处理程序传递的click
变量包含一个名为preventDefault
的函数。如果您不希望表单提交,请调用此表单(event.preventDefault()
)。这将阻止提交按钮提交表单。