2015-02-16 2 views
1

В программе PHP у меня есть функция JS, которая проверяет отправку <form ...onsubmit='return isOK();'>. Он работает нормально. Проблема в том, что я хочу, чтобы она работала только для отдельных представлений, а не для всех. Есть ли способ внутри функции JS, чтобы выяснить, какие Представлять была нажата, или некоторые PHP трюкВыполнение формы onsubmit для работы только для отдельных представлений

+1

Что вы подразумеваете под конкретными подарками? Различные формы? Просто не добавляйте функцию в форму. В противном случае добавьте определенный класс или данные ... и проверьте значение в функции отправки yoru. –

+0

Вначале предоставьте свой код другим. Тогда, я думаю, вы можете выполнить это, используя их 'Id' и' switch'ing на значении 'Id', например. –

+0

У меня есть, например. две кнопки отправки в той же форме, loginButton и HelpButton. Если я нажму кнопку loginButton, вызывается функция проверки isOK(). Когда я нажимаю HelpButton, проверка не требуется –

ответ

2
instead of onsubmit u can use onClick. 

<input type="submit" onclick="return pressSubmit1()" value="submit1" /> 

<input type="submit" onclick="return pressSubmit2()" value="submit2" /> 
+0

onClick используется другой функцией JS()! –

+0

Да, разные onclicks вместо одиночного onsubmit, кажется, единственный способ. Должен переписать мой код JS! –

0
<form class="allowed" onsubmit='return isOK();'> 
---- 

function isOK() { 
    if($(this).hasClass('allowed')) { 
     // Do stuff 
    } 
} 
0

Ваш вопрос не понятен, вы с помощью одной кнопки или другие из них представить. Если вы используете разные кнопки отправки, то, конечно, вы можете делать проверки на основе идентификатора кнопки отправки. С другой стороны, если это единственная кнопка отправить то это зависит от того, какие условия для представления или не представления

+0

все отправления являются в той же форме Валидация необходима только для отдельных отправлений. Другие подчинения должны работать без проверки. onclick() уже используется другой функцией JS –

+0

Является ли это sth как 'if (document.getElementById (" submit1 "). value! = "") {...} '? –

1
<form action="action.php" method="post"> 
    ... 
    <input name="submit" type="button" value="check me" onclick="submitform('check')" /> 
    <input name="submit" type="button" value="do not check me" onclick="submitform('not check')"/> 
</form> 

в JavaScript:

function submitform(check) 
{ 
    if(check=='check') checkfrom(); 

} 

в PHP

if($_POST['submit']=="check me") 
checkform(); 
0

Это лучше написать код HTML и Java Script, который вы используете. Итак, легко исправить ошибку, вы сделали где-то в фрагменте кода.

0

Мы можем проверить, какая кнопка отправки нажата, используя PHP. На странице PHP, соответствующей форме представить, напишите

если (экстракт ($ _ POST) & & Исеть ($ submitbtn1)) {

// some validation for first submit button 

} ElseIf (экстракт ($ _ POST) & & Исеть ($ submitbtn2)) {

// some validation for second submit button 

}

Примечание: мы можем использовать $, за которым следует имя кнопки отправки внутри функции извлечения. то есть. $ submitbtn1 совпадает с $ _POST ['submitbtn1']

0

Да, другой onclick выглядит хорошо, как указано в принятом ответе. Но в случае обработчика вы должны иметь код , как показано ниже. Обратите внимание на preventDefault. Также, поскольку submit представляет собой кнопку, которая отправляет форму. Вы можете использовать тип кнопки вместо типа отправки, а затем нет необходимости в preventDefault. Вот ссылка на код http://jsbin.com/wikose/4/

function testlogin(){ 
     event.preventDefault(); 
     var test = 'not validated'; 
     if(test === "validated") 
     alert("not valid login"); 
     else 
     $('form').submit(); 
     return false; 
    } 
Смежные вопросы