Salut,
Cind se deschide pagina user-ul trebuie sa dea click pe un <input type="text" id="datapk"> sa-si aleaga un parametru. Cum fac sa-l "scutesc" de primul click si sa fortez eu click-ul in input? Am incercat cu :
dar nu se face click. Trebuie sa pun mai intii focus-ul pe el? Multumesc.
MarPloMesaje: 4343
Salut
Functia click() se poate folosi pentru a simula click pe un element, dar nu face nimic daca acel element nu e un buton /link sau nu are inregistrat inainte un eveniment "onclick".
Click-ul nu face nimic pe o caseta de tip "text", daca nu ai setat dinainte un "'onclick" care sa faca ceva.
Daca ceea ce vrei e sa duci utilizatorul direct pe acea caseta, merge cu focus() si select().
<script type="text/javascript">
function submitorar() {
document.getElementById("lab").style.visibility="visible";
document.getElementById("datapk").style.visibility="visible"; // aici il fac vizibil
var x = document.getElementById('idsala').value;
var y = document.getElementById('idactivitate').value;
var data_json={"x":x, "y":y };
my_ajaxo("orar.php",data_json,"post");
function my_ajaxo(phpfile, data_json, type) { // afiseaza orar
$.ajax({
async:false,
type: type,
url: phpfile,
data: data_json,
success: function(msg) {
// alert(msg);
$('#iddivorar').html(msg);
}
});
}
var datapk = document.getElementById('datapk'); // aici vreau sa-l determin sa faca onclick-ul de mai sus
datapk.focus();
datapk.select();
}
</script>
Focus-ul e plasat la functia care face vizibil elementul (initial este visibility:hidden;), este o alta functie Ajax(), dar tot nu merge.
Am incercat sa le pun si la succes: dar tot nu reusesc. Unde am gresit?
MarPloMesaje: 4343
O varianta mai simpla la ce vrei sa faci e sa apelezi functiile care sunt accesate la click pe acea caseta text.
Adica, in locul unde vrei sa se faca auto-click, apelezi functiile acelea:
<input style="display:none;" type="text" id="datapk" name="datapk" onclick="clickDatapk(this);" title="Titlu" />
<br/><input type="button" id="btn" value="Click" />
<script>
// function called when click on button
function clickButon() {
// make text-field visible and simulate click
var datapk = document.getElementById('datapk');
datapk.style.display = 'block';
datapk.click();
}
// function called when click on text-field
function clickDatapk(e){
alert('Input text clicked, ID: '+ e.id);
}
// onclick event for button
document.getElementById('btn').addEventListener('click', clickButon);
</script>
Demo:
When you click on this button, it makes the text-field visible and also simulate the auto-clik on that field. Then, if you click on the text fied, it shows same result.