Automatyczne wypełnirnie pola w formularzu z dwóch danych ?? Jak zrobić

0

Mam taki formularz

<div class="grid_12">
<div class="module">
 <h2><span>Formularz</span></h2>
  <div class="module-body">
<form name="produkt" id="produkt" action="<? echo $link ;?>" method="post" enctype="multipart/form-data">
  
  <label>
   <span>Kategorie</span>
   <select name="kat" class="input-short">
    <option id="0">....................</option>
    <? 
	if($pro[2] == 0) {
     if(is_array($p)) { foreach($p as $v) {?>
     <option id="<? echo $v['lp']; ?>"><? echo $v['nazwa']; ?></option>
    <? }}} ?>
   </select>
  </label>
  <label> 
   <span>Nazwa</span>
   <input name="nazwa" type="text" size="60" maxlength="59" value="<? $dane['nazwa']; ?>" class="input-short" />
   <div class="em">*</div>
  </label>
  <label> 
   <span>Html</span>
   <input name="html" type="text" size="60" maxlength="59" value="<? $dane['html']; ?>" class="input-short" />
   <div class="em">*</div>
  </label>
  <label> 
   <span>Netto</span>
   <input name="netto" type="text" size="7" maxlength="7" value="<? $dane['netto']; ?>" class="input-short" />
   <div class="em">*</div>
  </label>
  <label>
   <span>Vat</span>
   <select name="vat" class="input-short">
    <? $vat = $db->pobierz('SELECT * from podatek ORDER BY lp ASC') ; 
     if(is_array($vat)) { foreach($vat as $v) {?>
     <option id="<? echo $v['vat']; ?>"><? echo $v['nazwa']; ?></option>
    <? }} ?>
   </select>
  </label>
  <label> 
   <span>Cena</span>
   <input name="cena" type="text" size="7" maxlength="7" readonly="readonly" />
  </label>
  
  <hr />
  
  <label><span>Opis</span></label><br />
  <textarea name="opis"  cols="110" rows="30">
  <? $dana['opis']; ?></textarea><br />
  <label><div class="em">*</div></label>
  
  <label> 
   <span>Pokaż produkt</span>
   <select name="akty" class="input-short">
    <option {if $dane.akty == 0} selected="selected" {/if} id="0">0 Tak</option>
    <option {if $dane.akty == 1} selected="selected" {/if} id="1">1 Nie</option>
   </select>
  </label>
   
  &nbsp;&nbsp; &nbsp;&nbsp; 
  <input class="submit-green" type="submit" value="Zapis" />
  <div class="em_info">* wymagane pola</div>
 
</form>

Mam załadowane

<script src="/js/jquery-1.7.2.min.js"></script>
 <script src="/js/jquery.js"></script>   

Chciałbtym aby w polu samoczynnie została wypełniona "cena" z dwóch pól. Z pola netto i pola vat.
Obiczenie matematyczne

cena = netto + ((netto * vat)/100)

jak to zrobić??

$link = admin.php?id=pro_1&str=1&page=dodaj

<- generowany automatycznie

0

http://en.it-usenet.org/thread/23/144760/
Tutaj jest podobny problem, da się to przerobić, tylko wzór zmienić :)

0
  1. Po co ładujesz dwa razy jQuery?!
  2. Dlaczego kolorowanie (znacznik <code>) zastosowałeś tylko do ostatniego kodu i to jeszcze błędnego? (cudzysłowy?)
  3. Podstawy jQuery, $(selektor).val(); pobierze Ci wartość z inputa wybranego przez selektor, parseFloat posłuży Ci do przerobienia wartości ze stringa na float, mnożenia uczyć Cię nie będę, a poprzez val(), ale wpisując parametr - wpiszesz wartość do inputa (a jak chcesz wartość wpisać np. w div-a, to html()) - po szczegóły odsyłam do dokumentacji.
0

Jestem ciemy w javascrypt mogę prosić jakies kotretne rozwiązanie do tego co pokałem. Plik jest zapisany jest jako Php w katalogu

0

gotowców niet

0
function zmien() {
 var nr = document.forms["produkt"].vat.value; 	
 var v = parseFloat($("#vat").val());
 var n=  parseFloat($("#netto").vat()) ; 
 var c = n + ((n * v)/100) ;
 document.forms["produkt"].cena.value = c;
}
<form name="produkt" id="produkt" action="<? echo $link ;?>" method="post" enctype="multipart/form-data">
....
 <label>
   <span>Vat</span>
   <select name="vat" class="input-short" OnChange="zmien()">
    <option id="nic">....................</option>
    <? $vat = $db->pobierz('SELECT * from podatek ORDER BY lp ASC') ; 
     if(is_array($vat)) { foreach($vat as $v) {?>
     <option id="<? echo $v['vat']; ?>"><? echo $v['nazwa']; ?></option>
    <? }} ?>
   </select>
  </label>
.....
</form>

Czy to jest dobrze napisane ?? Jeżeli nie jak to napisać??

0

Pokaż wygenerowany już kod HTML, będzie przejrzyściej niż ten miks z PHP, który nie ma znaczenia aktualnie. Ah, i używaj tagów <code class="php"> <code class="javascript"> itd.

0

Na życzenie pokazuje kod html po wygenerowaniu strony

<script type="text/javascript">
function zmien() {
 var nr = document.forms["produkt"].vat.value; 	
 var v = parseFloat($("#vat").val());
 var n=  parseFloat($("#netto").vat()) ; 
 var c = n + ((n * v)/100) ;
 document.forms["produkt"].cena.value = c;
}
</script>
<div class="grid_12">
<div class="module">
 <h2><span>Formularz</span></h2>
  <div class="module-body">
<form name="produkt" id="produkt" action="?id=pro_1&page=zapis" method="post" enctype="multipart/form-data">
  
  <label>
   <span>Kategorie</span>
   <select name="kat" class="input-short">
    <option id="0">....................</option>
         <option id="9">na 18-tkę</option>
         <option id="10">Ślubne</option>
         <option id="11">Urodzinowe</option>
         <option id="12">Jubileusz</option>
         <option id="13">na Chrzest</option>
         <option id="14">na Komunie</option>
         <option id="15">na Wieczór pańieński</option>
         <option id="16">na Wieczór kawalerski</option>
       </select>
  </label>
  <label> 
   <span>Nazwa</span>
   <input name="nazwa" type="text" size="60" maxlength="59" value="" class="input-short" />
   <div class="em">*</div>
  </label>
  <label> 
   <span>Html</span>
   <input name="html" type="text" size="60" maxlength="59" value="" class="input-short" />
   <div class="em">*</div>
  </label>
  
  <label> 
   <span>Netto</span>
   <input name="netto" type="text" size="7" maxlength="7" value="" class="input-short" />
   <div class="em">*</div>
  </label>
  <label>
   <span>Vat</span>
   <select name="vat" class="input-short" OnChange="zmien()">
    <option id="nic">....................</option>
         <option id="23">vat_23</option>
         <option id="8">vat_8</option>
         <option id="0">vat_0</option>
       </select>
  </label>
  <label> 
   <span>Cena</span>
   <input name="cena" type="text" size="7" maxlength="7" volue="" class="input-short"  />
  </label>

  <hr />
  
  <label><span>Opis</span></label><br />
  <textarea name="opis"  cols="110" rows="30">
  </textarea><br />
  <label><div class="em">*</div></label>
  
  <label> 
   <span>Pokaż produkt</span>
   <select name="akty" class="input-short">
    <option  selected="selected"  id="0">0 Tak</option>
    <option  id="1">1 Nie</option>
   </select>
  </label>
   
  &nbsp;&nbsp; &nbsp;&nbsp; 
  <input class="submit-green" type="submit" value="Zapis" />
  <div class="em_info">* wymagane pola</div>
 
</form>
0

Dlaczego Twoje <option>-y mają ID? Czy chodziło Ci o value.

Kod javascript opisz linijka po linijce co robisz, bo to coś totalnie losowego, naprowadzimy na dobrą drogę.

0

Id w optiom wysyła podatek dlatego tego używam nie po nazwie tylko po id . A jak wcześniej pisałam nie rozumiem javascrypt i z kilku przykładów połączyłem to więc w ogóle nie wiem na jakiej zasadzie ów skrypt działa

0

Javascript trudny nie jest. A tam powinno być value, nie id.

0

To znaczy jak zmienię na volue to ów skrypt zadziała. Dobrze rozumiem. Ja uczyłem się C++ i do php łatwo było prześć a javascrypt nie wiem co z czym je może jakieś kurs o co chodzi ??

Zmieniłem na value i nadal nic. Nie kumam javascrypt. Proszę o link do nauki lub koś mi pomoże i napisze skrypt działający do owego formulrza. Będę wdzięczny za jak najszybszą odpowiedź.

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