Autor Zpráva
fifa
Profil
Zdravim mám kód na test v js a potřeboval bych vědět jak předělat z radia na input type text. Prosím podotíkám že to nemůže být v php

Kod testu:

 <html>
<head>
<html><a href="menu.html"><img src="images/back.png"></a></html><br>
<html><center><font face="balthazar" color="black" size="5"><b>Ur�ov�n� slovn�ch druh�-Test1</b></font></center></html>
<body bgcolor="DeepSkyBlue">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<style type="text/css">
<!--
body    {color:#000; background:#00bfff}
h1        {margin: 1.2em 0 0.5em ; padding: 0.3em 0 0 0.5em; color:navy; border-top: 3px dashed #ccc}
label    {margin: 2em ; }
p        {margin: 0.5em 0 3ex 2em ; }
p label    {margin: 1.3em ; }
b, h1    {font-family: Arial, Helvetica, sans-serif;}
.odsazeni    {margin: 0 0.3em; padding: 0 0.6em; font-family: monospace; background: #ffc; font-weight: normal;}
.odsazeni font    {word-spacing: 1em}
b font    {word-spacing: 0.5em}
-->
<body bgcolor="white" text="#808080" link="green" vlink="blue">
</style>
<center>
<form id="anketa">
<label id="o1"><b>1.<font> </font>Letět</b></label>
<p>
    <label>
    <input type="radio" name="otazka1" value="0" onClick="odpoved(1,this.value)">
    a) P�edlo�ka</label>
    <br>
    <label id="dobre1" >
    <input type="radio" name="otazka1" value="1" onClick="odpoved(1,this.value)">
    b) Sloveso</label>
    <br>
    <label>
    <input type="radio" name="otazka1" value="0" onClick="odpoved(1,this.value)">
    c) Podstatné jméno</label>
    <br>
    <label>
    <input type="radio" name="otazka1" value="0" onClick="odpoved(1,this.value)">
    d) Spojka</label>
    <br>
</p>
<label id="o2"><b>2.<font> </font>Šedivé</b></label>
<p>
    <label id="dobre2">
    <input type="radio" name="otazka2" value="1" onClick="odpoved(2,this.value)">
    a) Přídavné jméno</label>
    <br>
    <label>
    <input type="radio" name="otazka2" value="0" onClick="odpoved(2,this.value)">
    b) Podstatné jméno</label>
    <br>
    <label>
    <input type="radio" name="otazka2" value="0" onClick="odpoved(2,this.value)">
    c) Sloveso</label>
    <br>
    <label>
    <input type="radio" name="otazka2" value="0" onClick="odpoved(2,this.value)">
    d) Sloveso</label>
    <br>
</p>
<label id="o3"><b>3.<font> </font>Vzducholoď</b></label>
<p>
    <label>
    <input type="radio" name="otazka3" value="0" onClick="odpoved(3,this.value)">
    a) Podstatn� jm�no</label>
    <br>
    <label>
    <input type="radio" name="otazka3" value="0" onClick="odpoved(3,this.value)">
    b) ��stice</label>
    <br>
    <label>
    <input type="radio" name="otazka3" value="0" onClick="odpoved(3,this.value)">
    c) P��slovce</label>
    <br>
    <label  id="dobre3">
    <input type="radio" name="otazka3" value="1" onClick="odpoved(3,this.value)">
    d) Podstatné jméno</label>
    <br>
</p>
<label id="o4"><b>4.<font> </font>Proto�e</b></label>
<p>
    <label>
    <input type="radio" name="otazka4" value="0" onClick="odpoved(4,this.value)">
    a) Podstatn� jm�no</label>
    <br>
    <label>
    <input type="radio" name="otazka4" value="0" onClick="odpoved(4,this.value)">
    b) Citoslovce</label>
    <br>
    <label>
    <input type="radio" name="otazka4" value="0" onClick="odpoved(4,this.value)">
    c) ��stice</label>
    <br>
    <label id="dobre4">
    <input type="radio" name="otazka4" value="1" onClick="odpoved(4,this.value)">
    d) Spojka</label>
    <br>
</p>
<label id="o5"><b>5.<font> </font>Zmačkané</b></label>
<p>
    <label id="dobre5">
    <input type="radio" name="otazka5" value="1" onClick="odpoved(5,this.value)">
    a) P��slovce</label>
    <br>
    <label>
    <input type="radio" name="otazka5" value="0" onClick="odpoved(5,this.value)">
    b) P��davn� jm�no</label>
    <br>
    <label>
    <input type="radio" name="otazka5" value="0" onClick="odpoved(5,this.value)">
    c) Spojka</label>
    <br>
    <label>
    <input type="radio" name="otazka5" value="0" onClick="odpoved(5,this.value)">
    d) Z�jmeno</label>
    <br>
</p>
<label id="o6"><b>6.<font> </font>Číst 
</b></label>
<p>
    <label>
    <input type="radio" name="otazka6" value="0" onClick="odpoved(6,this.value)">
    a) P��slovce</label>
    <br>
    <label id="dobre6">
    <input type="radio" name="otazka6" value="1" onClick="odpoved(6,this.value)">
    b) Sloveso</label>
    <br>
    <label>
    <input type="radio" name="otazka6" value="0" onClick="odpoved(6,this.value)">
    c) ��stice</label>
    <br>
    <label>
    <input type="radio" name="otazka6" value="0" onClick="odpoved(6,this.value)">
    d) Podstatn� jm�no</label>
    <br>
</p>
<label id="o7"><b>7.<font> </font>Mu</b></label>
<p>
    <label>
    <input type="radio" name="otazka7" value="0" onClick="odpoved(7,this.value)">
    a) Spojka</label>
    <br>
    <label>
    <input type="radio" name="otazka7" value="0" onClick="odpoved(7,this.value)">
    b) P��davn� jm�no</label>
    <br>
    <label id="dobre7">
    <input type="radio" name="otazka7" value="1" onClick="odpoved(7,this.value)">
    c) Z�jmeno</label>
    <br>
    <label>
    <input type="radio" name="otazka7" value="0" onClick="odpoved(7,this.value)">
    d) ��stice</label>
    <br>
</p>
<label id="o8"><b>8.<font> </font>Jako</b></label>
<p>
    <label>
    <input type="radio" name="otazka8" value="0" onClick="odpoved(8,this.value)">
    a) ��stice</label>
    <br>
    <label>
    <input type="radio" name="otazka8" value="0" onClick="odpoved(8,this.value)">
    b) Z�jmeno</label>
    <br>
    <label>
    <input type="radio" name="otazka8" value="0" onClick="odpoved(8,this.value)">
    c) Podstatn� jm�no</label>
    <br>
    <label id="dobre8">
    <input type="radio" name="otazka8" value="1" onClick="odpoved(8,this.value)">
    d) Spojka</label>
    <br>
</p>
<label id="o9"><b>9.<font> </font>�irafa</b></label>
<p>
    <label>
    <input type="radio" name="otazka9" value="0" onClick="odpoved(9,this.value)">
    a) ��stice</label>
    <br>
    <label>
    <input type="radio" name="otazka9" value="0" onClick="odpoved(9,this.value)">
    b) P��davn� jm�no</label>
    <br>
    <label id="dobre9">
    <input type="radio" name="otazka9" value="1" onClick="odpoved(9,this.value)">
    c) Podstatn� jm�no</label>
    <br>
    <label>
    <input type="radio" name="otazka9" value="0" onClick="odpoved(9,this.value)">
    d) Spojka</label>
    <br>
</p>
<label id="o10"><b>10.<font> </font>a</b></label>
<p>
    <label id="dobre10">
    <input type="radio" name="otazka10" value="1" onClick="odpoved(10,this.value)">
    a) Spojka</label>
    <br>
    <label>
    <input type="radio" name="otazka10" value="0" onClick="odpoved(10,this.value)">
    b) ��stice</label>
    <br>
    <label>
    <input type="radio" name="otazka10" value="0" onClick="odpoved(10,this.value)">
    c) Citoslovce</label>
    <br>
    <label>
    <input type="radio" name="otazka10" value="0" onClick="odpoved(10,this.value)">
    d) Z�jmeno</label>
    <br>
</p>
<input name="hodnoceni" type="button" value="Vyhodnotit" onClick="ukaz_hodnoceni();">
</form>

<script language="JavaScript" type="text/JavaScript">
<!--
// 0-3 body
var vysledek1 = "Hr�za\n"+
            "�esk� jazyk ti nic ne��k�\n"+
            "Nau� se a zkus to unovu";
//4-8 bod�
var vysledek2 = "Budi�\n"+
            "Ale mohlo by to b�t lep��!"; 
//9 - 10 bod�
var vysledek3 = "V�born�\n"+
            "Jen tak d�l"; 

var odpovedi = new Array(0,0,0,0,0,0,0,0,0,0);

function vychozi() { 
    for ( var i = 0; i < document.forms[0].elements.length; i++ ) {
        document.forms[0].elements[i].checked = false;
    }
}

function odpoved(otazka,bodovani) { 
    odpovedi[otazka-1] = bodovani;
}

function ukaz_hodnoceni() { 
    var pocet_bodu = 0;
    for(var i=0; i<10; i++){
        pocet_bodu = pocet_bodu + parseInt(odpovedi[i]);
        if (odpovedi[i] == 0) {
            document.getElementById('o' + (i+1)).style.color = 'red';
        }
        else {
            document.getElementById('o' + (i+1)).style.color = 'black';            
        }
        document.getElementById('dobre' + (i+1)).style.color = 'green';
        document.getElementById('dobre' + (i+1)).style.fontWeight = 'bolder';
    }
    var hlaska = "V� bodov� zisk v tomto testu je "+pocet_bodu+" z 10.\n";
    if (pocet_bodu <10){
        hlaska = hlaska + "Chybn� odpov�di jsou ozna�eny �erven�.\n\n";
    }
    if (pocet_bodu <= 3){
        alert(hlaska+vysledek1);
    }
    else if (pocet_bodu >= 9){
        alert(hlaska+vysledek3);
    }
    else {
        alert(hlaska+vysledek2);
    }
}
//-->
</script>
<html><body><body bgcolor="skyblue"></body></html>
</body>
</html>

Moderátor Petr ZZZ: Titulek „Uprava zdrojového kódů“ nevystihoval podstatu dotazu. Příště zkus prosím vymyslet lepší.
jefitto44
Profil
<input type="text">
fifa
Profil
jefitto44:
<input type="text">

Blby nejsem ale jak udělat aby to overilo jestli je ten text spravný
lionel messi
Profil
fifa:
Blby nejsem
Tak píš česky.

Prosím podotíkám že to nemůže být v php
Podotýkam, že toto riešenie má isté nevýhody, napríklad „ajťák“ si vie dohľadať odpovede v zdrojáku, ale dobre (to nemá byť rýpanie, ale poukázanie na slabinu JS riešenia). Navyše správne a nesprávne odpovede možno logicky vyvodiť už z pôvodného formulára.

Každá otázka bude namiesto 4 radio inputov mať 1 textový. Udalosť onclick však bude potrebné nahradiť inou. Na lepšiu radu poskytni kód funkcie odpoved (bude ju treba predpokladám zmeniť, keďže očakáva vstup z radio inputov). Prosím o poskytnutie zdrojového kódu tejto funkcie, prípadne živej ukážky celého kvízu.
juriad
Profil
lionel messi:
Funkce je na řádcích 238 - 240.

fifa:
Chceš tedy celý blok řádků 24 - 40 nahradit jediným inputem? A budeš pak vyžadovat po uživateli, aby název slovního druhu napsat na písmenko přesně?
fifa
Profil
Néé potom předělám otázku bude to na pády že napíše číslo ale ne aby tam bylo 7. radiů
mimochodec
Profil
fifa:
Néé potom předělám otázku bude to na pády že napíše číslo ale ne aby tam bylo 7. radiů

Takže ti připadá jako dobrý nápad mít tam input, kam člověk může napsat cokoliv, když ty po něm chceš, aby vybral číslo 1-7? Znáš select ?
fifa
Profil
Mám vhodné typy otázek na které je nejlepší input text a i mě by do toho nejvíce zapadal.

Prosím udělejte mi kód na jednu otázku zbytek si udělám předem děkuji.
Fisir
Profil
Reaguji na fifu:
Mám vhodné typy otázek na které je nejlepší input text
Obvykle to nikdy není nejlepší možnost. Uživatel musí napsat odpověď v přesně stejném formátu, který ty očekáváš. Ještě nikdy jsem neviděl test, ve kterém by skutečně byly potřeba inputy pro text. Vždy je šlo nahradit patřičným selectem nebo možností volby přes radio.

Moderátor Petr ZZZ: Odmazána reakce na smazaný příspěvek.
Fisir
Profil
Reaguji na fifu:
Tak jinak. S čím konkrétně máš problém? Jestli jsi autorem kódu v [#1] (nebo jsi ho aspoň pochopil), nevidím důvod, proč bys neměl sestavit kód pro <input type="text">. Ale jestli potřebuješ ukázku…

<input type="text" id="otazka"><br><a href="javascript:zkontrolovat()">Zkontrolovat</a>
<script type="text/javascript">
function zkontrolovat(){
    var input = document.getElementById('otazka');
    if(input.value === 'Rešení'){
        alert('Správně!');
    } else {
        alert('Špatně.');
    }
}
</script>
(Netestováno.)
fifa
Profil
Nejsem autorem ale je z poloviny přeďelany (přidány další otázky zmírněno hodnoceni atd.) a cely ho chápu

Správne odpovedi jsou oznaceni div id dobreX
Na konci radio buttonu jsou hodnoty value a to jsou body
Dole jsou potom funkce kteree opravi a zobrazí hodnocení
Po opravě se o barvy stará css
jefitto44
Profil
aha číže ak týpek vlezie do kódu, tak vie vydedukovať, ktorá je správna odpoveď?
fifa
Profil
Pomocí .Net framework a C++ Mám zařízený aby kód nešel zobrazit

Přes progeram MS Visual studio
Keeehi
Profil
fifa:
Takže je k tomu vytvořený něco jako vlastní prohlížeč? OK, ale co mi zabrání zjistit si URL na které to je tu si zadat v klasickém prohlížeči?

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0