Къде греша в тоя джава скрипт?

azsym

New member
Нещо много просто:
едно поле в таблица: пишеш в него футове и ти го обръща в метри:
имам функцията но цифрата в метри се вижда за секунда и после става празно.

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>


<script language='JavaScript' type='text/JavaScript'>
 <!--
 function validate() {
 var res=0.3048*document.form.waterdepth.value;
 
 this.form.elements["elevation"].value = res.toFixed(0);
 

 return false;
 }
 //-->
 </script>




<style type="text/css">
<!--
.style4 {color: #000000}
-->
</style>
</head>

<body>
<form name="form" action="" method="post">
<table width="1103" border="2" cellpadding="10" cellspacing="0" bordercolor="#000000" bgcolor="#D4D4D4">
  <tr>
    <td width="304" align="right" valign="top" >    
      <p class="style4">WID
        <input name="wid2" type="text"/>
      </p>
      <p class="style4">Location Name
        <input name="locname2" type="text"/>
        <br />
        <br />
Alternative Names
<input name="altlocnames2" type="text"/>
<br />
<br />
Operator
<input name="operator2" type="text"/>
      </p>
      <p class="style4">
        Type 
        <select name="type" size="1">
          %s
          </select>
      </p>
      <p class="style4">Result
        <select name="result" size="1">
          
          %s
              
        </select>      
        </p>
      <p class="style4">Spud Year
        <input name="spudyear2" type="text"/>
        <br />
        <br />
Completion Year
<input name="completionyear2" type="text"/>
<br />
          <br />
          <br />
          <br />
      </p>      </td>

    <td width="264" align="right" valign="top" > <p>Region
        <select name="region" size="1">
          
          %s
              
        </select>
        <br />
        <br />
Country
<select name="country" size="1">
  
          %s
              
</select>
<br />
<br />
Basin
<select name="basin" size="1">
  
          %s
              
</select>
<br />
<br />
Offshore or Onshore
<select name="onoffshore" size="1">
  
          %s
              
</select>
</p>
      <p>Block
        <input name="block" type="text"/>
          <br />
          <br />
        Field
  <input name="field" type="text"/>
  <br />
  <br />
        Location Type
  <select name="loctype" size="1">
    
          %s
              
  </select>
  <br />
  <br />
        Precission
  <select name="precision" size="1">
    
          %s
              
  </select>
      </p>
      <p>Longitude (dd)
        <input name="longdd" type="text"/>
          <br />
          <br />
        Latitude (dd)
        <input name="latdd" type="text"/>
  <br />
  <br />
        Location Notes
  <textarea name="locnotes" cols="40" rows="5" ></textarea>
      </p>      </td>
    <td width="465" align="right" valign="top"  > <p>Water Depth (m)
        <input name="waterdepth" type="text"/>
        <label>
        <input type="submit" name="ffettom" value="ft to metres" onclick="validate();" />
        </label>
        <br />
        <br />
Elevation (m)
<input name="elevation" type="text"/>
<input type="submit" name="ffettom2" value="ft to metres" />
<br />
<br />
TD (m)
<input name="td" type="text"/>
<input type="submit" name="ffettom3" value="ft to metres" />
<br />
<br />
TD Formation
<input name="tdformation" type="text"/>
<br />
<br />
TD Strat Age
<input name="tdstratage" type="text"/>
</p>
      <p>TD Age Ma
        <input name="tdagema" type="text"/>
          <br />
          <br /> 
        Notes
      <textarea name="notes" cols="40" rows="5" ></textarea>
      </label>
      <br /><br />
      RefMan ID1
      <input name="refmanid1" type="text"/><br /><br />
      RefMan ID2
      <input name="refmanid2" type="text"/><br /><br />
      RefMan ID3
      <input name="refmanid3" type="text"/><br /><br />
      <label></label>
      <label>
      <input type="submit" name="Submit" value="Updade DB" />
      </label></td>
  </tr>
</table>
</form>

</body>

</html>

е това ек кода на чтмл-а. Къде е проблема.
 
Re: Къде греша в тоя джава скрипт?

трябва да направиш
<input type="submit" name="ffettom" value="ft to metres" onclick="validate(); return false;" />

иначе ти събмива формата и ти релоудва страницата

мерси много. това е.

Ако обаче искам да ползвам същата функция да за конвертирам на 3 места във формата как става?
сега го правя
PHP:
<input type="submit" name="ffettom" value="ft to metres" onclick="validate("waterdepth"); return false;" />
        
<input type="submit" name="ffettom2" value="ft to metres" onclick="validate("elevation"); return false;"  />

<input type="submit" name="ffettom3" value="ft to metres" onclick="validate("td"); return false;"  />

а скрипта е:

PHP:
<script language='JavaScript' type='text/JavaScript'>
 <!--
 function validate(name) {
 var res=0.3048*document.form.name.value;
 
 this.form.elements[name].value = res.toFixed(0);
 

 return false;
 }
 //-->
 </script>

но не става. При натискане нищо никъде не работи.
 
Re: Къде греша в тоя джава скрипт?

Пробвай: onclick="validate(this.value);"

Като във функцията вместо "document.form.name.value" стане само "name".

при това положение ми дава винаги NaN в полето все едно, че съм написал букви.
Нещо не разбирам: this.value праща стойността на бутона, нали?
явно в случая бутона не е в отделен форм и затова праща някакъв текст.
На мен ми трябва 3 бутона да пращат стойността на определено поле от формата, имам 3 полета всяко с бутон. Така скрипта ще знае и къде да вкара резултата.
 
Re: Къде греша в тоя джава скрипт?

още едно:
да прави бутона активен ако в полето има повече от 5 символа:
Сега нищо не сменя, къде греша? Някъде в ДОМ адресирането?!

PHP:
<script language="javascript" type="text/javascript"> 
function SetButtonStatus(val) 
{

if (val >= 5) 
//this.theform.elements["zipsearch"].disabled = false;
document.theform.zipsearch.disabled = false;
}
</script>

PHP:
<form action="search.php" method="get" name="theform">
<input type="text" name="zip" onchange="SetButtonStatus(this.form.zip.value); return false;">
<input type="Submit" value="Търси" name="zipsearch" disabled="true">
 </form>
 

Back
Горе