Javascript <-> PHP Кой може да помогне?

N1ck

Active Member
Казуса е тривиален и предполагам много от вас са се сблъсквали с проблема. Ето, че дойде и моят ред :)

Имам mysql табличка с данни ID & Name

Има една форма с две полета - ID & Name.

Целта е, когато се въведе нещо в ID да се проверява дали това ID го има в базата данни и ако го има да се върне Name oт базата във web формата. Ако няма съвпадение се изчиства Name (ako e имало нещо преди това въведено.

ID и Name са текстови полета, като идеята да може от същата форма да се въвеждат и нови двойkи ID & Name.

Проблема:

<input type="text" name="ID" value="$ID" size="15" maxlength="15" onchange="javascript:this.form.name.value = Array[this.form.ID.value];">

принципно работи ако преди това се съдаде масив който се напълни с всичко от базата данни. Да, но ако базата е голяма това е чиста загуба на ресурси.

Как да се реши проблмеа елегантно?

OnChange трябва да вика някака javascript функция която да може да провеи дали ID го има в базата данни и да промени полето Name.

Идеи?
 
От: Javascript <-> PHP Кой може да помогне?

AJAX върши работа, ако има още неща във формуляра.
Аз лично избягвам чак такава динамичност във формуляр. submit-а на формуляра го давам да се обработва от същия скрипт. Той проверява кое до колко е валидно. Ако всичко е валидно, продължава напред (регистрация, login или там каквото трябва). Ако нещо не е наред, данните които са дошли от формуляра ги разполагам в полетата, в които са били преди попълването на формуляра, т.е. имаме попълнен формуляр доколкото е бил попълнен и преди натискането на submit бутона.
Ако целта ти е само поява на Name по зададено ID, дори не ти трябва input поле за Name. Написваш ID-то и след submit, новопуснатият същ скрипт прави select заявка към базата данни и попълва Name в някакво поле в HTML-а.
Не знам дали ме разбра. Ако дадеш повече подробности и не е кой знае колко сложно, мога да ти надраскам някой друг ред програмен код за разнообразие.
 
От: Javascript <-> PHP Кой може да помогне?

AJAX, ако ти е чужд, можеш да си помогнеш с jquery, добре документиран е ...

Колегата е прав. :)
 
От: Javascript <-> PHP Кой може да помогне?

Напварих го с AJAX (или поне нещо подобно) и стана супер.

Благодаря!
 

Горе