Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Почему скрипт обработки формы не работает в firefox? (https://javascript.ru/forum/project/4600-pochemu-skript-obrabotki-formy-ne-rabotaet-v-firefox.html)

zzz 06.08.2009 18:27

Почему скрипт обработки формы не работает в firefox?
 
<form name=form1, method=post action="add_america.php" id="myform">

<div id=div2><p><label>Введите название статьи:<br>
<input type=text name=title id=title>
<p id=p1><div id=div21 class=div20></div></p></div>
</label></p>

<p><label>Введите описание для поисковиков:<br>
<input type=text name=meta_d id=meta_d>
<p id=p1><div id=div22 class=div20></div></p></div>
</label></p>

<div id=div2><p><label>Введите ключевые слова:<br>
<input type=text name=meta_k id=meta_k>
<p id=p1><div id=div23 class=div20></div></p></div>
</label></p>

<p><label>Введите дату добавления статьи:<br>
<input type=text name=date id=date value=2009-01-01>
<p id=p1><div id=div24 class=div20></div></p></div>
</label></p>

<div id=div2><p><label>Введите краткое описание статьи:<br>
<textarea name=description id=description cols=40 rows=5></textarea>
<p id=p1><div id=div25 class=div20></div></p></div>
</label></p>

<p><label>Введите полный текст статьи с тэгами:<br>
<textarea name=text id=text cols=40 rows=20></textarea>
<p id=p1><div id=div26 class=div20></div></p></div>
</label></p>

<div id=div2><label><p>Введите автора статьи:<br>
<input type=text name=author id=author>
<p id=p1><div id=div27 class=div20></div></p></div>
</label></p>

<input type=submit name=submit id=submit value="Занести cтатью в базу">
</form>
<script>
    function myform.onsubmit(){
 	var notitle=!myform.title.value
 	var nometa_d=!myform.meta_d.value
 	var nometa_k=!myform.meta_k.value
 	var nodate=!myform.date.value
    var nodesc=!myform.description.value
 	var notext=!myform.text.value
 	var noauthor=!myform.author.value
 	var xtext="\nСтатья не добавлена!!!"

 	if (notitle || nometa_d || nometa_k || nodate || nodesc|| notext || noauthor) {
 	event.returnValue=false
 	if(notitle)  document.getElementById('div21').innerHTML="&nbsp&nbsp&nbsp&nbspВы не написали название"
 	if(nometa_d) document.getElementById('div22').innerHTML="&nbsp&nbsp&nbsp&nbspВы не написали описание для поисковиков"
 	if(nometa_k) document.getElementById('div23').innerHTML="&nbsp&nbsp&nbsp&nbspВы не написали ключевые слова"
 	if(nodate)   document.getElementById('div24').innerHTML="&nbsp&nbsp&nbsp&nbspВы не написали дату"
 	if(nodesc)   document.getElementById('div25').innerHTML="&nbsp&nbsp&nbsp&nbspВы не написали краткое описание"
 	if(notext)   document.getElementById('div26').innerHTML="&nbsp&nbsp&nbsp&nbspВы не написали текст"
 	if(noauthor) document.getElementById('div27').innerHTML="&nbsp&nbsp&nbsp&nbspВы не написали автора"
 	}
 	}
 	</script>

Gvozd 06.08.2009 18:38

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
-----------------------
Цитата:

Сообщение от zzz
function myform.onsubmit(){

меняем на
document.getElementById('myform').onsubmit = function(){


Цитата:

Сообщение от zzz
event.returnValue=false

убираем, а в конце условия добавляем
return false;

zzz 06.08.2009 18:46

убираем, а в конце условия добавляем
return false;
[/quote]

В смысле в конце условия в if чтоле запихать?

zzz 06.08.2009 18:47

Напомню не работает только в firefox

Gvozd 06.08.2009 18:57

Пожалуйста, отформатируйте свой код!
свои сообщения, кстати можно редактировать
и дабл-посты являются ненужным излишеством
Цитата:

Сообщение от zzz
В смысле в конце условия в if чтоле запихать?

а моя фраза допускает иное толкование?
вот готовый код(подправлено еще пара мелких недочетов), раз неочевидно:
<form name=form1, method=post action="add_america.php" id="myform">

<div id=div2><p><label>Введите название статьи:<br>
<input type=text name=title id=title>
<p id=p1><div id=div21 class=div20></div></p></div>
</label></p>

<p><label>Введите описание для поисковиков:<br>
<input type=text name=meta_d id=meta_d>
<p id=p1><div id=div22 class=div20></div></p></div>
</label></p>

<div id=div2><p><label>Введите ключевые слова:<br>
<input type=text name=meta_k id=meta_k>
<p id=p1><div id=div23 class=div20></div></p></div>
</label></p>

<p><label>Введите дату добавления статьи:<br>
<input type=text name=date id=date value=2009-01-01>
<p id=p1><div id=div24 class=div20></div></p></div>
</label></p>

<div id=div2><p><label>Введите краткое описание статьи:<br>
<textarea name=description id=description cols=40 rows=5></textarea>
<p id=p1><div id=div25 class=div20></div></p></div>
</label></p>

<p><label>Введите полный текст статьи с тэгами:<br>
<textarea name=text id=text cols=40 rows=20></textarea>
<p id=p1><div id=div26 class=div20></div></p></div>
</label></p>

<div id=div2><label><p>Введите автора статьи:<br>
<input type=text name=author id=author>
<p id=p1><div id=div27 class=div20></div></p></div>
</label></p>

<input type=submit name=submit id=submit value="Занести cтатью в базу">
</form>
<script>
document.getElementById('myform').onsubmit = function(){
var notitle=!myform.title.value
var nometa_d=!myform.meta_d.value
var nometa_k=!myform.meta_k.value
var nodate=!myform.date.value
var nodesc=!myform.description.value
var notext=!myform.text.value
var noauthor=!myform.author.value
var xtext="\nСтатья не добавлена!!!"

if (notitle || nometa_d || nometa_k || nodate || nodesc|| notext || noauthor) {
//event.returnValue=false
if(notitle) document.getElementById('div21').innerHTML="&nbsp;&nbsp;&nbsp;&nbsp;Вы не написали название"
if(nometa_d) document.getElementById('div22').innerHTML="&nbsp;&nbsp;&nbsp;&nbsp;Вы не написали описание для поисковиков"
if(nometa_k) document.getElementById('div23').innerHTML="&nbsp;&nbsp;&nbsp;&nbsp;Вы не написали ключевые слова"
if(nodate) document.getElementById('div24').innerHTML="&nbsp;&nbsp;&nbsp;&nbsp;Вы не написали дату"
if(nodesc) document.getElementById('div25').innerHTML="&nbsp;&nbsp;&nbsp;&nbsp;Вы не написали краткое описание"
if(notext) document.getElementById('div26').innerHTML="&nbsp;&nbsp;&nbsp;&nbsp;Вы не написали текст"
if(noauthor) document.getElementById('div27').innerHTML="&nbsp;&nbsp;&nbsp;&nbsp;Вы не написали автора"
return false;
}
}
</script>

zzz 07.08.2009 18:10

Спс всё работает.


Часовой пояс GMT +3, время: 02:32.