Pobranie zawartości edit do ukrytego input

0

OK, chcę przerobić swój system oceniania. Teraz jest tak, że, żeby móc ocenić, trzeba mieć konto. Chodzi o to, żeby nigdy nie można było ocenić drugi raz tego samego. I to jest jedyne słuszne wyjście, jednak uciążliwe, ponieważ konto trzeba założyć.

Więc wpadłem na pomysł, który ma być mniej uciążliwy dla użytkownika, a więc nie tak dobry ;)

Otóż pomysł zakłada:

  1. Użytkownik wybiera ocenę i klika GŁOSUJ - tak, jak do tej pory
  2. Pojawia się modalne okno, w którym jest prośba o podanie maila - to już udało mi się zrobić.
  3. Użytkownik podaje maila, wciska OK

I teraz zaczyna się rzecz, z którą nie mogę sobie poradzić.

Chodzi o to, żeby po wciśnięciu OK, to, co użytkownik wpisał jako swój mail, zostało przepisane do ukrytego pola formularza, a następnie cały formularz ma zostać wysłany. Rzeczy niby prosta, ale mi nie działa. Kombinowałem na różne sposoby, oto ostatni(piszę bez kodu php celem jasnego kodu):

<form method="POST" name="myForm">
  <input type="hidden" name="mail">
  <div id="box" name="box" class="dialog">
    <input type="text" name="mail" />
    <button onclick="hm('box'); document.myForm.mail.value=document.box.mail.value;document.myForm.submit();">OK</button>
  </div>
  <a href="#" onclick="sm('box', 200, 50)">Głosuj</a>
</form>

Małe wyjaśnienie. Ten DIV to jest to okno modalne, które się pojawia po wywołaniu funkcji sm, a znika po wywołaniu hm.

Próbowałem na różne sposoby, ale zawsze dostaję jakieś błędy w stylu: "box.mail jest pusty, lub nie jest obiektem". Próbowałem też z getElementByName, z takim samym skutkiem.

[dopisane]

OK, nazwę ukrytego inputa zmieniłem na test. Zrobiłem takie przyrównanie: myForm.test.value=mail.value

I w IE wszystko pięknie śmiga, natomiast FF pokazuje komunikat, że mail is undefined :|

0

Bo masz dwa razy element o nazwie mail. Zobacz czy i bez przepisywania nie zadziała jak masz tak skonstruowany formularz.

0
winerfresh napisał(a)

Bo masz dwa razy element o nazwie mail. Zobacz czy i bez przepisywania nie zadziała jak masz tak skonstruowany formularz.

Napisałem, że zmieniłem nazwę inputa na test.

1 użytkowników online, w tym zalogowanych: 0, gości: 1