Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   сабминт формы (https://javascript.ru/forum/events/2755-sabmint-formy.html)

Yurik 07.02.2009 19:26

сабминт формы
 
на страничке javascript создает форму, причем сначала только одно поле, после ввода в это поле значения, должны добавиться остальные поля.

поставил на первый <input> onchange=test(), если ввести значение и просто уйти с этого поля, то все отрабатывает как надо, но вот если после ввода значения в первом поле нажать ЕНТЕР - происходит обновление страницы (причем кнопку submint вобще убрал пока)

пробовал поставить обработчик на onkeypress =if (keyCode==13) test() - обработчик отрабатывает, но потом опять же происходит обновление страницы.

У меня уже голова пухнет, как побороть этот самопроизвольный submint
З.Ы. test() кроме создания доп полей, возвращает false

Zibba 07.02.2009 19:36

По нажатии кнопки ввод, вызывается событие onsubmit формы.
Можно посмотреть код tets() !?

Yurik 07.02.2009 19:44

вот
 
function student_check(){				
	  var idencode=document.getElementById('idencode').value;
	if (check_idencode(idencode)){
	    alert(check_idencode(idencode));
		//add_student_input();
		}
	else
		{
      var url='add_student_form_shabl.php'+'?id='+idencode;
	  var param = 'id='+document.getElementById('idencode').value;
	  var loader1 = new
        net.ContentLoader(url,add_student_info_form,null,"post",param);	
		}
	return false;
    }


это настоящее имя test() :)

а вот кусок ХТМЛ куда должно вставляться

<table width="100%" border="0">
        <tr>
		<td width="80%">
	    <div id='student_info'>
	    Новости:			   
	    </div>
		</td>
		<td valign="top">
		<table class="menu">
		<tr class="menu_row">
		<td onclick="add_idencode_input()"onmouseover='podsvetka_td_on()' onmouseout='podsvetka_td_off()'>
		Добавить/редактировать свои данные
		</td>
		</tr>  
		</table>
		</td>
		</tr>
</table>

Yurik 07.02.2009 19:47

чуть напутал
 
первое поле выводится вот этим

function add_idencode_input(){
var stud_info=document.getElementById('student_info');
stud_info.innerHTML= '<form action="" method="POST" onsubmint="alert(123);return false"><div id="student_info_form"><input type="text" name="ab_id" id="idencode" value="" onchange="student_check()"> Введите свой иденкод</div></form>';
}



onsubmint="alert(123);return false" - писал просто для експеримента, но оно не отрабатывает

Yurik 07.02.2009 20:55

разобрался!!!!
влезло в голову submint вместо submit пол дня промучился :(

Zibba 07.02.2009 21:13

Не мудрено что submit происходит, вы неправильно назначаете обработчик (с интаксическая ошибка), не onsubmint, а onsubmit.

Дополнено: Пока писал отходил, а автор сам разобрался :)
P.S. Я же еще в первом посте написал onsubmit, потому что усомнился в
Цитата:

Сообщение от Yurik
как побороть этот самопроизвольный submint



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