简体   繁体   English

如何从相同的表单中获取值结果?

[英]How to get value result from the same form?

How can I take value results from this form?我如何从这个表格中获取价值结果?

<form name="forma" method="post" action="index.php"  id="dunja" >
    <p>
        Ime: <input id="ime" type="text" name="txtIme" value="" />
    </p>
    <p>
        Email: <input id="mail" type="text" name="txtEmail" value="" />
    </p>
    <p>
        <input type="submit" name="btnProsledi" value="Prosledi"  />
    </p>
</form>

And, JS is:而且,JS 是:

function sakupiPodatke(form){
    var delovi = [];
    var elementi = form.elements;

    for(var i=0; i<elementi.length; i++){
        var element = elementi[i];
        var naziv = encodeURIComponent(element.name);
        var vrednost = encodeURIComponent(element.value);

        delovi.push(naziv + "=" + vrednost);
    }

    return delovi.join("&");
}

var teloZahteva = sakupiPodatke(document.forma);

console.log(teloZahteva);

also Php file is simple: Php 文件也很简单:

<?php

$ime = $_POST["txtIme"];
$email = $_POST["txtEmail"];

?>

so...my question is how to read variable "teloZahteva" from JS in console.log?所以......我的问题是如何从console.log中的JS读取变量“teloZahteva”?

Your code is running when the page first loads, before the user has had a chance to fill in the form.您的代码在页面首次加载时运行,在用户有机会填写表单之前。 So it will display empty values in the console.所以它会在控制台中显示空值。

Put the code in an event listener that runs when the user clicks the submit button.将代码放在用户单击提交按钮时运行的事件侦听器中。

 document.getElementById("dunja").addEventListener("submit", function(e) { e.preventDefault(); var teloZahteva = sakupiPodatke(e.target); console.log(teloZahteva); }); function sakupiPodatke(form) { var delovi = []; var elementi = form.elements; for (var i = 0; i < elementi.length; i++) { var element = elementi[i]; var naziv = encodeURIComponent(element.name); var vrednost = encodeURIComponent(element.value); delovi.push(naziv + "=" + vrednost); } return delovi.join("&"); }
 <form name="forma" method="post" action="index.php" id="dunja"> <p> Ime: <input id="ime" type="text" name="txtIme" value="" /> </p> <p> Email: <input id="mail" type="text" name="txtEmail" value="" /> </p> <p> <input type="submit" name="btnProsledi" value="Prosledi" /> </p> </form>

This displays the form values in the console instead of sending the form to PHP.这会在控制台中显示表单值,而不是将表单发送到 PHP。

After my code I wrote this code and it says:在我的代码之后,我写了这段代码,它说:

Uncaught ReferenceError: createXHR is not defined未捕获的 ReferenceError:createXHR 未定义

function formPost(url, form, callback){
    var xhr = createXHR();
    var data = sakupiPodatke(form);

    xhr.open("POST", url);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    xhr.onreadystatechange = function(){
        if(xhr.readyState === 4){
            var status = xhr.status;
            if ((status >= 200 && status < 300) || status === 304){
                callback(xhr.responseText);
            }else{
                alert("Greskica!");
            }
        }
    };
    xhr.send(data);;
}

function procesOdgovora(odgovor){
    alert(odgovor);
}

formPost("index.php", document.forma, procesOdgovora);
 <form name="forma" method="post" action="index.php"  id="dunja" >
     <p>
         Ime: <input id="ime" type="text" name="txtIme" value="" />
     </p>
     <p>
         Email: <input id="mail" type="text" name="txtEmail" value="" />
     </p>
     <p>
         <input type="submit" name="btnProsledi" value="Prosledi" onclick="handleSubmit()"  />
     </p>
 </form>



handleSubmit(){
  var ime =getElementById('ime').value;
  var mail =getElementById('mail').value;

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM