Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

данные из формы взаимодействие PHP и Javascript

10K
30 августа 2006 года
Dennn
46 / / 23.08.2006
Вопрос таков, есть форма:
<form method=\"POST\" enctype=\"multipart/form-data\" action=\"script.php\">
...................................
<input type=\"submit\" value=\"Ввод\" name=\"vvod\" [COLOR="Red"]!!!onclick=\"func()\"!!![/COLOR] ><input type=\"reset\" value=\"Сброс\" name=\"sbros\"></form>

при нажатии на кнопку ввода будет загружатся script.php, который будет обрабатывать данные формы.
А нужно чтобы вначале данные обработала функция джаваскрипта func(), проверила всё ли заполнено, выдала бы предепреждения в виде алерта если чё не так, а если всё "ок" то загрузился бы script.php.
Как это возможно сделать?
13
30 августа 2006 года
RussianSpy
3.0K / / 04.07.2006
Код:
<form method="POST" enctype="multipart/form-data" action="script.php">
<input type="text" value="" name="txtstr">
<input type="button" value="Ввод" name="vvod" &#111;&#110;click="func(this.form)"><input type="reset" value="Сброс" name="sbros"></form>
<script>
function func(obj)
{
  if(obj.txtstr.value) obj.submit();
  else alert("форма не заполнена");

}
</script>
17K
30 августа 2006 года
cyber_punk
11 / / 30.08.2006
А еще можно проверку вешать на саму форму.

[HTML]
<form action="" method="post" onSubmit="return checkrequired(this)">
<input type="text" alt="required" name="text1">
<input type="submit" value="Submit">
</form>
<script language="JavaScript">
<!-- Begin
// verify required fields
function checkrequired(form) {
var pass = true;
for(i = 0; i < form.length; i++) {
var tempobj = form.elements;
if(tempobj.alt == "required") {
if(tempobj.value == '') {
pass = false;
break;
}
}
}
if(!pass) {
alert("Please enter the required information.");
tempobj.focus(); // set focus to missing field
return false;
}
else { return true; }
}
// End -->
</script>
[/HTML]
10K
07 сентября 2006 года
Dennn
46 / / 23.08.2006
2RussianSpy
в твоём методе где:
<input type="button" value="Ввод" name="vvod" onclick="func(this.form)"><input type="reset" value="Сброс" name="sbros"></form>
<script>
function func(obj)
{
if(obj.txtstr.value) obj.submit();
else alert("форма не заполнена");

}
</script>
При нажатии на Кнопку срабатывает submit в скрипте, но при этом не передаётся имя нажатой кнопки, мне нужно чтоб передалось также имя кнопки button(name="vvod")
13
07 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=Dennn]

При нажатии на Кнопку срабатывает submit в скрипте, но при этом не передаётся имя нажатой кнопки, мне нужно чтоб передалось также имя кнопки button(name="vvod")[/QUOTE]
ппц... А подумать самому слабо?
Код:
<form method="POST" enctype="multipart/form-data" action="script.php">
<input type="button" value="Ввод1" name="vvod1" &#111;&#110;click="func(this.form, 'vvod1')">
<input type="button" value="Ввод2" name="vvod2" &#111;&#110;click="func(this.form, 'vvod2')">
<input type="reset" value="Сброс" name="sbros">
<input type="hidden" name="ButtonName" id="ButtonName" value="">
</form>
<script>
function func(obj, btnName)
{
  if(obj.txtstr.value)
  {
     document.getElementById('ButtonName').value=btnName;
     obj.submit();
  }
  else alert("форма не заполнена");

}
</script>
10K
07 сентября 2006 года
Dennn
46 / / 23.08.2006
Идея неплоха, сам бы не допетрил бы, но вот прикол, что он не работает, если в скрипте:
if(obj.txtstr.value)
{
document.getElementbyId('ButtonName').value=btnName;
obj.submit();
}
в условии "иф" 2 строчки в скобках - субмит не срабатывает, а если просто один субмит, то он срабатывает, но соответственно имя не передаётся...
13
07 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
Ты видимо дернул первоначальную версию - там у меня была очепятка. Скопируй еще раз и попробуй - должно работать.
10K
07 сентября 2006 года
Dennn
46 / / 23.08.2006
а где опечатка то была?
13
07 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
Было getElementbyId, а должно быть getElementById
10K
07 сентября 2006 года
Dennn
46 / / 23.08.2006
незнаю, вт у меня скрипт мой, со строчками:
{
document.getElementbyId('ButtonName').value=btnName;
obj.submit();
} - не работает, а со строчками:
{
obj.submit();
}
работает???
13
07 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
СКОПИРУЙ КОД ЕЩЕ РАЗ!!! Я же написал что там была опечатка - скопируй исправленный.
Код:
<form method="POST" enctype="multipart/form-data" action="script.php">
<input type="button" value="Ввод1" name="vvod1" &#111;&#110;click="func(this.form, 'vvod1')">
<input type="button" value="Ввод2" name="vvod2" &#111;&#110;click="func(this.form, 'vvod2')">
<input type="reset" value="Сброс" name="sbros">
<input type="hidden" name="ButtonName" id="ButtonName" value="">
</form>
<script>
function func(obj, btnName)
{
  if(obj.txtstr.value)
  {
     document.getElementById('ButtonName').value=btnName;
     obj.submit();
  }
  else alert("форма не заполнена");

}
</script>
10K
07 сентября 2006 года
Dennn
46 / / 23.08.2006
Извините, забыл сказать спасибо, применил к своему скрипту, всё работает.
13
07 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
Рад был помочь. =)
ЗЫ Оставьте отзыв чтобы поднять репутацию спая :D :D
16K
08 сентября 2006 года
Бян
43 / / 05.09.2006
Вот еще вариант.
Допустим есть форма
[HTML]
<form>
<input type="submit" onclick="return false"/>
<form>
[/HTML]
Сабмит из это формы не когда не пойдет потому, что онклик возращает false.
Исходя из этого:
[HTML]
<script>
function verifiy_user_input(){
здесь проверка ввода, если все нормально
return true;
если ошибки
return false;
}
</script>
<form>
<input type="submit" onclick="return verify_user_input()"/>
<form>

[/HTML]
15
08 сентября 2006 года
shaelf
2.7K / / 04.05.2005
2Бян Если ты хочешь проверять форму перед отправкой, то не когда не вешай это на submit. Если хочешь вытащить в HTML, то более правильно вешать в form
[html]
<form action="action.php" method="post" onsubmit="javascriptfunction()">
[/html]
Так более корректно.
16K
08 сентября 2006 года
Бян
43 / / 05.09.2006
[QUOTE=shaelf]2Бян Если ты хочешь проверять форму перед отправкой, то не когда не вешай это на submit.[/QUOTE]
Ну в принципе верно, ога...
Только вы же сами на сабмит повесили (onsubmit=""). Или под submitом понимался соотвествуюший инпут?. Смысл моего поста в том что бы сабмит не происходил вызовом form.submit() в JS скрипте проверяющем ввод пользователся...:) Потому, что он предназначен имеенно для проверки, а не для отправки... не логичнос
13
08 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=Бян]Ну в принципе верно, ога...
Только вы же сами на сабмит повесили (onsubmit=""). Или под submitом понимался соотвествуюший инпут?. Смысл моего поста в том что бы сабмит не происходил вызовом form.submit() в JS скрипте проверяющем ввод пользователся...:) Потому, что он предназначен имеенно для проверки, а не для отправки... не логичнос[/QUOTE]
Бред какой-то пишешь.
Метод submit() предназначен для проверки???? ты где такое вычитал?
16K
08 сентября 2006 года
Бян
43 / / 05.09.2006
Читайте внимательней...
Я пишу, что сабмит для сабмита, если хочиться проверить данные, то надо использовать скрипт который ТОЛЬКО проверяет, но не сабмитит. Кесарю кесарево кароче. А использовать form.submit() в скрипте проверки не логично. Но это уже философия. Работает ну и гуй с ним:p
13
08 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
[QUOTE=Бян]Читайте внимательней...
Я пишу, что сабмит для сабмита, если хочиться проверить данные, то надо использовать скрипт который ТОЛЬКО проверяет, но не сабмитит. Кесарю кесарево кароче. А использовать form.submit() в скрипте проверки не логично. Но это уже философия. Работает ну и гуй с ним:p[/QUOTE]
Какая разница? Кнопка submit вызывает этот же метод... Я не вижу тут проблемы и разницы... Или это попытка показать как писать "правильный код"?
16K
08 сентября 2006 года
Бян
43 / / 05.09.2006
правильный код - работаюший код. согласны?:confused:
13
08 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
Не всегда. Работающий код - это просто работающий. А правильный код не только должен работать, но и обеспечивать максимальную производительность.
10K
08 сентября 2006 года
Dennn
46 / / 23.08.2006
Спокойствие, спокойствие: вот правильный код напечатан в 3 посте тов. cyber_punk'ом, которым я пользуюсь, скрипт проверяет только форму и отправляет тру или фельс
Код:
<form action="" method="post" &#111;&#110;Submit="return checkrequired(this)">
<input type="text" alt="required" name="text1">
<input type="submit"  value="Submit">
</form>
<script language="JavaScript">
<!-- Begin
// verify required fields
function checkrequired(form) {
    var pass = true;
    for(i = 0; i < form.length; i++) {
        var tempobj = form.elements;
        if(tempobj.alt == "required") {
            if(tempobj.value == '') {
                pass = false;
                break;
            }
        }
    }
    if(!pass) {
        alert("Please enter the required information.");
        tempobj.focus(); // set focus to missing field
        return false;
    }
    else { return true; }
}
// End -->
</script>

А скриптом RussianSpy, который делает сопсно субмит(), я пользуюсь именно для третьей спец. кнопки, которая вызывает другое действие, нежели отправку данных формы, Все методы хороши для своих целей!!!
13
08 сентября 2006 года
RussianSpy
3.0K / / 04.07.2006
Не забываем также господа о лаконичности кода. Все это хозяйство еще будет выкачиваться. Ладно если такая форма одна. А если их на странице 10-15? Скажете так не бывает? Ну тогда откроем любую более-менее серьезную админку и посмотрим (например тот же phpMyAdmin)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог