@fOstere

Как изменить метод с submit на button?

Доброй ночи. целый день уже мучаюсь, может кто подскажет, как сменить метод отправки с submit на button (ajax не работает на submit и страница обновляется)

к примеру к консоли доступны еще команды SAY и они работают по button с помощью onclick='say()'>
и я уже что только не пробовал чтобы и основную кнопку
<b><input type='text' name='COMMAND' /><input type='submit' value='Submit'></b>


переделать на button, ничего не выходит, в скриптах дополнительную функцию для команды писал, думал сработает...что я делаю не так???

index.php
<?php

# Source RCON by William Ruckman (http://ruckman.net)

    require_once("rcon_code.php");
 
# Set Defaults
    

    $OUTPUT = "No Output - Submit a Command";

# GET and SEND Post data

if ($_POST)
{ 
    $IP = $_POST["IP"] = "ip iz bd";
    $PORT = $_POST["PORT"] = "port iz bd";
    $PASSWORD = $_POST["PASSWORD"] = "rcon pass";
    $COMMAND = $_POST["COMMAND"];

    $srcds_rcon = new srcds_rcon();
    $OUTPUT = $srcds_rcon->rcon_command($IP, $PORT, $PASSWORD, $COMMAND);
}

# Display Form

print ("

<link rel='stylesheet' type='text/css' href='style.css'>
<SCRIPT LANGUAGE='JavaScript' SRC='script.js'></SCRIPT>

<form action='' method='post' name='CUSTOMCOMMAND'>


<td rowspan='3' class='txtarea'>
RCON Output:<br><hr><textarea rows='30' cols='110'>$OUTPUT</textarea>
</td></tr>
<tr>
<td class='custom'>
<font class='info'>Custom Command:</font><br><hr>    
<input type='text' name='COMMAND' /><input type='submit' value='Submit'><br>
</form>            

<form name='COMMONCOMMANDS'>
<input type='button' value='Server Status' onclick='serverstatus()'>
<input type='button' value='Map List' onclick='maplist()'>
<input type='button' value='Restart' onclick='restart()'>
<br>
<input type='text' name='MAPNAME' value='Map Name'><input type='button' value='Change Map' onclick='changemap()'>
<br>
<input type='text' size='5' name='KICKID' value='ID'><input type='text' name='KICKREASON' value='Reason'><input type='button' value='Kick ID' onclick='kickid()'>
<br>
<input type='text' name='SEARCH' value=''><input type='button' value='CVAR Search' onclick='search()'>    
<br>
<input type='text' name='SAY' value=''><input type='button' value='Say' onclick='say()'>
</form>

");
       
?>
script.js
function serverstatus() 
		{
		document.CUSTOMCOMMAND.COMMAND.value = "status";
		document.CUSTOMCOMMAND.submit();		
		}
function maplist()
		{
                document.CUSTOMCOMMAND.COMMAND.value = "maps *";
                document.CUSTOMCOMMAND.submit();
		}
function changemap()
		{
		document.CUSTOMCOMMAND.COMMAND.value = ("map " + document.COMMONCOMMANDS.MAPNAME.value);
		document.CUSTOMCOMMAND.submit();
		}
function restart()
		{
		document.CUSTOMCOMMAND.COMMAND.value = "restart";
                document.CUSTOMCOMMAND.submit();
                }
function kickid()
		{
		document.CUSTOMCOMMAND.COMMAND.value = ("kickid " + document.COMMONCOMMANDS.KICKID.value + " " + "\"" + document.COMMONCOMMANDS.KICKREASON.value + "\"");
                document.CUSTOMCOMMAND.submit();
                }
function say()
		{
		document.CUSTOMCOMMAND.COMMAND.value = ("say " + "\"" + document.COMMONCOMMANDS.SAY.value + "\"");
		document.CUSTOMCOMMAND.submit();
		}
function search()
		{
		document.CUSTOMCOMMAND.COMMAND.value = ("cvarlist " + document.COMMONCOMMANDS.SEARCH.value); 
		document.CUSTOMCOMMAND.submit();
		}
  • Вопрос задан
  • 252 просмотра
Пригласить эксперта
Ответы на вопрос 2
zxscv
@zxscv
<button type='submit' name='action' value='restart'>restart</button>
<button type='submit' name='action' value='kick'>restart</button>
<button type='submit' name='action' value='ban'>restart</button>

на сервере

if (!empty($_POST['action']))
{ 
   if ($_POST['action']=='kick') {
     $command='kick '.$_POST['KICKID'];
   } elseif (.......
   ..............
   ..............
    $srcds_rcon = new srcds_rcon();
    $OUTPUT = $srcds_rcon->rcon_command($IP, $PORT, $PASSWORD,  $command);
}


}
Ответ написан
Комментировать
@GilbertAmethyst
Всё просто. К <form> добавьте атрибут id, например id="no_ajax".
А в скрипт добавляем:
document.querySelector('#no_ajax').addEventListener('submit', function(e) {
    e.preventDefault();
});


Этот код остановит отправку формы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы