Avatar billede dannv Nybegynder
14. oktober 2003 - 10:35 Der er 10 kommentarer og
1 løsning

Applet stjæler focus()

Jeg har en formular, som består af et antal felter, og en applet.
Jeg kan ved hjælp af nedenstående få focus til det ønskede felt:

<body onload="document.search.chemicalName.focus()">

Men da det tager noget længerer for min applet at blive loaded stjæler den fokus når den er færdig. dvs fokus er først i det ønskede felt, men bliver flyttet over i appletten når denne er loaded.....

Hvordan kan jeg sikre at focus bliver i det felt jeg ønsker???
Avatar billede mm12010 Nybegynder
14. oktober 2003 - 10:40 #1
prøv:
<body onload="setTimeout('document.search.chemicalName.focus()',2000);">
Avatar billede mm12010 Nybegynder
14. oktober 2003 - 10:46 #2
ellers kan du prøve sådan, afhængigt af formens funktion på din side:
<input type="text" value="" name="chemicalName" onBlur=if(this.value==this.defaultValue){this.focus();}"
Avatar billede dannv Nybegynder
14. oktober 2003 - 11:32 #3
Kanon, den sidste er snuppet, virker dejligt. (mangler lige et svar!)
Avatar billede dannv Nybegynder
14. oktober 2003 - 11:34 #4
Hov hov... der var jeg lige hurtig nok.... Din kode er alligevel ikke helt hensigtsmæssig... Der skal ikke nødvendigvis stå en værdi i det felt som skal være i focus pr default! Nu kan jeg ikke skrive i andre felter før jeg har skrevet i chemicalName feltet...!
Avatar billede mm12010 Nybegynder
14. oktober 2003 - 11:38 #5
prøv sådan:
<input type="text" value="" name="chemicalName" onBlur=if(this.value==this.defaultValue&&this.value!=''){this.focus();}"

ellers vil jeg gerne lige se din kode
Avatar billede dannv Nybegynder
14. oktober 2003 - 12:49 #6
<html>
<head>
<LINK REL="stylesheet" TYPE="text/css" HREF="../Style.css">
<meta name="author" content="Dann Vestergaard & Claus Stie Kallesøe">
<title>
The Chemical search page
</title>
</head>
<body onload="document.search.chemicalName.focus()">
<%
  String base = (String) application.getAttribute("base");
  String history = request.getParameter("history");
  String stat = request.getParameter("statement");
%>

<h1>Search for chemical/compound</h1>

<form method="post" action="<%= base %>?action=Search&code1=yes" name="search">
<table class="special" cellspacing="2" cellpadding="1" border="1" width="100%">
<tr>
    <th align="left">Chemical Name:</td>
    <td><input type="text" value="" name="chemicalName" onBlur="if(this.value==this.defaultValue&&this.value!=''){this.focus();}"></td>
    <td WIDTH="50%" ROWSPAN="14" BGCOLOR="#C0C0C0">
    <CENTER>
    <script LANGUAGE="JavaScript1.1" SRC="./marvin/marvin.js"></script>
    <script LANGUAGE="JavaScript1.1">
    <!--
    // marvin_jvm = "builtin"; // "builtin" or "plugin"
    // marvin_gui = "awt"; // "awt" or "swing"
    // marvin_signed = "true"; // "signed applet
    msketch_name = "MSketch"; 
    msketch_begin("./marvin/", 460, 380); // arguments: CODEBASE, WIDTH, HEIGHT
    msketch_param("mol", "<%= HTMLTools.convertForJavaScript(search.getMolfile())%>");
    msketch_param("background", "#E8E6EC");
    msketch_param("molbg", "#E8E6EC");
    msketch_param("colorScheme", "cpk");
    msketch_end();
    function exportMol(format)
    {
    if(document.MSketch != null)
      {
        var molfile = "";
        document.forms[0].molfile.value = document.MSketch.getMol(format);
        molfile = unix2local(molfile);
      } else {
        alert("Cannot import molecule:\n"+
            "no JavaScript to Java communication in your browser.\n");
      }
    }
    -->
    </script>
    </CENTER>
    Search method:&nbsp; <select name="search_method">
    <option value="SUBSTRUCTURE" selected>SUBSTRUCTURE</option>
    <option value="EXACT">EXACT</option>
    <option value="SIMILARITY">SIMILARITY</option>
    </select>
    </td>
</tr>
<tr>
    <th align="left">Chemical Formula:</th>
    <td><input type="text" name="cd_formula"></td>
    <td></td>
</tr>
<tr>
    <th align="left">CAS Number:</th>
    <td><input type="text" name="casNumber"></td>
    <td></td>
</tr>
<tr>
    <th align="left">Mol Weight:</th>
    <td><input type="text" name="cd_molweight"></td>
    <td></td>
</tr>
<tr>
    <th align="left">Density:</th>
    <td><input type="text" name="density"></td>
    <td></td>
</tr>
<tr>
    <th align="left">Register Date:</th>
    <td><input type="text" name="register_date"></td>
</tr>
<tr>
    <th align="left">Registered By:</th>
    <td><input type="text" name="register_by"></td>
</tr>
<tr>
    <td><input type="submit" name="Search" value="Search" onClick="exportMol('mol')"></td>
    <td><input type="Reset"></td>
    <td><input type="hidden" name="molfile"></td>
</tr>
</table>
</form>

*********************

Her kommer lige noget kode. Det sidste du sendte løste ikke problemet, nu taget appletten stadig fokus når den er blevet loaded...
Avatar billede mm12010 Nybegynder
14. oktober 2003 - 13:12 #7
prøv:

<body onload="f=setInterval('document.search.chemicalName.focus()',1000);" onClick="clearInterval(f);">
Avatar billede dannv Nybegynder
14. oktober 2003 - 13:41 #8
Ok med en lille modification så virker den fint jeg satte lige onKeyPress="clearInterval(f)" ind, så var det det jeg ønsker.

ok pointsne er dine watch out jeg smider lige et nyt spørgsmål da min applet stadig driller... (mangler stadig et svar fra dig..)
Avatar billede mm12010 Nybegynder
14. oktober 2003 - 14:03 #9
:o)
Avatar billede dannv Nybegynder
14. oktober 2003 - 14:25 #10
smid lige et svar så jeg kan give dig points...
Avatar billede mm12010 Nybegynder
14. oktober 2003 - 14:49 #11
prøver lige igen :o)
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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