Avatar billede bgjensen Nybegynder
17. november 2007 - 15:52 Der er 4 kommentarer og
1 løsning

ændre value i input felt

Jeg har følgende script:

<form action="rename.php" method="POST" name="rename">

<table border="1">

<tr><td>Filnavn</td><td>Måned</td><td>År</td><td>Nyt Navn</td><td>test</td></tr>

<?php

$tid = time();
$i = '0';

if ($handle = opendir('files')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
          $i++;
         
          echo '<tr>';

          echo '<td><input type="text" value="'.$file.'" readonly="readonly" name="old_name_'.$i.'"></td>';
         
          echo '<td>';
          echo '<select size="1" name="month_'.$i.'">';
          foreach($monthArray as $key => $value) {
            echo '<option value="'.$key.'">'.$value.'</option>';
          }
          echo '</select>';
          echo '</td>';

          echo '<td>';
          echo '<select size="1" name="year_'.$i.'">';
          foreach($yearArray as $key => $value) {
            echo '<option value="'.$key.'">'.$value.'</option>';
          }
          echo '</select>';
          echo '</td>';

          echo '<td><input type="text" value="'.$tid.'" name="new_name_'.$i.'"></td>';
          echo '<td><input type="button"></td>';
         
          echo '</tr>';
        }
    }
    closedir($handle);
}

?>

</table>

</form>

Hvordan for jeg lavet så når man klikker på knappen ud for hver række, at den ændre navnet i new_name_$i, så det kommer til at bestå at værdien fra old_name_$i og $month_$i og year_$i???
Avatar billede jhe-ting Nybegynder
17. november 2007 - 16:48 #1
Så skal du nok bruge et script der ligner dette (utestet):

<script type="text/javascript"><!--
  function getSelVal(sel){
    if (sel.selectedIndex >=0 ) {
      return sel.options[sel.selectedIndex]
    } else return "";
  }
  function setNewName(idx){
    var newNameFld = document.forms.rename["new_name_"+idx];
    var oldNameFld = document.forms.rename["old_name_"+idx];
    var monthSel  = document.forms.rename["month_"+idx];
    var yearSel    = document.forms.rename["year_"+idx];

    newNameFld.value = oldNameFld.value+getSelVal(monthSel)+getSelVal(yearSel)
  }
//-->

Og koden til knapperne skal nok ligne dette:

    echo '<td><input type="button" value="Copy old name" onclick='setNewName('.$i.')'></td>';
Avatar billede bgjensen Nybegynder
17. november 2007 - 17:03 #2
Har lige smidt det ind men den retunere:
test1.txt[object HTMLSelectElement][object HTMLOptionElement]
Avatar billede jhe-ting Nybegynder
17. november 2007 - 17:13 #3
oh yeah - der mangler lige en ".value" her:

  function getSelVal(sel){
    if (sel.selectedIndex >=0 ) {
      return sel.options[sel.selectedIndex].value
    } else return "";
  }
Avatar billede bgjensen Nybegynder
17. november 2007 - 17:16 #4
perfekt det virker bare, smid et svar
Avatar billede jhe-ting Nybegynder
17. november 2007 - 17:21 #5
Glæder mig - ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester