Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP] Generowanie danych w formularzu po wciśnięciu przycisku
Forum PHP.pl > Forum > Przedszkole
busyboy
Witam,

Mamy pytanie, czy ktoś orientuje się w jaki sposób zrobić generowanie danych w formularzu w polu input po wciśnięciu przycisku (button)

Np. Mam w formularzu pole do wpisywania hasła - input - i żeby nie wpisywać za każdym razem hasła - to chciałem zrobić przycisk za pomocą którego dane te w polu input generowały się.

Pozdrawiam
BusyBoy
nospor
google -> js password generator
busyboy
Dziękuje o to mi chodziło

Mam jeszcze jedno pytanko - bo w JS jestem kompletnie zielony - może ktoś mi podpowie - mam coś takiego :

  1. function randomPassword(length) {
  2. var chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUWXYZ123456789";
  3. var pass = "";
  4. for (var x = 0; x < length; x++) {
  5. var i = Math.floor(Math.random() * chars.length);
  6. pass += chars.charAt(i);
  7. }
  8. return pass;
  9. }
  10.  
  11. function generate() {
  12. myform.row_password.value = randomPassword(myform.length.value);
  13.  
  14. }


oraz

  1. <form name="myform" method="post" action="">
  2. <input type="hidden" name="length" value="10">
  3. <table width="100%" border="0">
  4. <tr>
  5. <td>Password:</td>
  6. <td>
  7. <input name="row_password" type="text" size="40">&nbsp;
  8. <input name="row_password2" type="text" size="40">&nbsp;
  9. <input type="button" class="button" value="Generate" onClick="generate();" tabindex="2">
  10.  
  11. </td>
  12. </tr>
  13. </table>
  14. </form>


Mam dwa pola input z zdefiniowaną nazwą row_password oraz row_password2 - jak przerobić kod JS aby po wciśnięciu przycisku Generate generowała się ta sama wartość w obu polach ?

jak próbowałem tak :

  1.  
  2. myform.row_password.value = randomPassword(myform.length.value);
  3. myform.row_password2.value = randomPassword(myform.length.value);


To generowały mi się ale 2 różne a nie takie same.... sad.gif
nansss93
Na szybko:

Kod
function randomPassword(length) {
    var chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUWXYZ123456789";
    var pass = "";
    for (var x = 0; x < length; x++) {
        var i = Math.floor(Math.random() * chars.length);
        pass += chars.charAt(i);
    }
    return pass;
}

function generate() {
    var pass= randomPassword(myform.length.value);
    myform.row_password.value = pass;
    myform.row_password2.value = pass;
}


W swoim przykładzie dwa razy wywołujesz funkcje randomPassword, a z racji że ona losuje za każdym razem jest małe prawdopodobieństwo, że hasła będą takie same, więc musisz wygenerować raz, przypisać do zmiennej i zmienną wpisać w pola.

Pozdrawiam,
nansss93
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.