С помощью дескриптора меню вы можете перемещаться по пунктам меню и вызывать SetMenuItemInfo, указывая, что вы хотите, чтобы владелец рисовал элементы меню. Когда вы это сделаете, окно, в которое подключено меню, получит сообщение WM_MEASUREITEM
, на которое вы ответите, установив необходимые для этого параметры. Здесь вы можете установить свою ширину.
Конечно, это означает, что вы должны подклассифицировать обработчик сообщений Windows для окна, содержащего меню.
Если вы хотите отправить форму, но не хотите перезагружать страницу, вам просто нужно вернуть false
после нажатия кнопки отправки:
$(document).ready(function() {
$("#message_submit").click(function(){
//ajax request for send 'sending a new message' string to dB
$.ajax({
url: "includes/handlers/ajax_send_message.php",
type: "POST",
data: {'userLoggedIn':userLoggedIn, 'user_to':user_to, 'body':body},
cache: true,
success: function(response) {
console.log("message_sent");
}
});
return false;
});
});
Примечание. Если вы хотите полностью запретить форму отправлено, прикрепите прослушиватель событий к отправке формы, не нажимая кнопку. Пользователь может отправить форму, нажав Enter
или другие непредсказуемые действия, связанные с клавиатурой устройства и т. Д.
$(YOUR_FORM).on("submit",function(){
//Ajax code here
return false;
})
Думаю, проблема в том, что вы не препятствуете отправке вашей формы. Вы можете сделать это: e.preventDefault()
в .submit(function(e){})
функция обратного вызова
$("#reg").submit(function(e)
{
e.preventDefault();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="reg">
<input type="text" name="name" value="Rick">
<input type="text" name="last_name" value="Astley">
<input type="submit">
<form>