简体   繁体   English

如何从一个javascript变量获取一个值,通过一个按钮用作一个php输入变量,没有或没有提交按钮?

[英]how to take a Value from a javascript variable, to be used as a php input variable via a button, without or not a submit button?

how to take a Value from a javascript variable, to be used as a php input variable via a button, not a submit button because the submit button cannot generate sequences more than once at the same time? 如何从一个javascript变量获取一个值,通过一个按钮而不是一个提交按钮用作一个php输入变量,因为提交按钮不能同时生成多个序列? I have tried this method but I still can't get the output ("x") from js using the button. 我尝试过这种方法,但我仍然无法使用按钮从js获取输出(“x”)。 this is my first code with javascript I tried as best I could because I tried to use break but it didn't work then i put x-- to freze it. 这是我的第一个使用javascript的代码我尽力尽力,因为我试图使用break但它没有用,然后我把x--放开它。

this javascript work like i want, but still can't get value "x" from button value 这个javascript工作就像我想要的,但仍然无法从按钮值获得值“x”

Code: 码:

<title>Test-2019</title>
<!-- x += 1 -->
<!-- Java Script -->
<script> 
x = 0;
function f_Next()
{
    x++;
    document.getElementById("Next").value = x;
    if(x == 5) {
        x--;
    }
}
</script>
<!-- HTML -->
<form method="post" action="#">
    <input type="button" value="Soal" id="Next" onClick="f_Next()">
    <!-- 
    <input type="hidden" value="0" id="Next">
    -->
</form>
<!-- PHP -->
<?
$a = array("str1", "str2", "str3", "str4", "str5");
if (isset($_POST['soal']))
{
    $va = $_POST['soal'];
    print $a[$va];
}
?>

on delphi I always use this method and I also tried to implement it but it didn't work so I tried making it with java script. 在delphi上我总是使用这个方法,我也尝试实现它,但它没有用,所以我尝试用java脚本。

Delphi Example Code: 德尔福示例代码:

//global var
const
    a : array[0..4] of string = ('str1', 'str2', 'str3',  'str4', 'str5');
 var
    g : integer;
    ...
    ...
    //on create
    g := 0;
    ...
    ...
    //on button click
    g := g + 1;
 if g = 5 then
    g = 0;
    edit1.text := IntToStr(g);

  //or like this example 2
   button1.tag := button1.tag + 1;
if button1.tag = 5 then
   button1.tag := 0;       
   edit1.text := IntToStr(button1.tag);

php code was i tried, like this PHP代码是我试过的,像这样

function fNext();
{
    $x = 0;
    if ($x == 5)
    {
        break;
    }
    x += 1;
}

i'm sorry if i included pascal/delphi code, cz maybe you can help me to convert it into php. 对不起,如果我包括pascal / delphi代码,cz也许你可以帮我转换成php。

Thank you. 谢谢。

Not really sure what you are trying to do here, BUT if you want the value of an <input> element to get to PHP it HAS TO HAVE A name attribute! 不确定你在这里尝试做什么,但是如果你想要一个<input>元素的值到达PHP它有一个name属性!

So change your input to 所以将输入更改为

<input name="Next" type="button" value="Soal" id="Next" onClick="f_Next()">`
//     ^^^^^^^^^^^  added this 

Now you need to address it properly in the $_POST array, so if we call the element Next as in name="Next" we should use $_POST['Next'] and not $_POST['soal'] as soal was the value attribute which by the way the javascript should have overwritten with 1 or 2 etc 现在你需要在$_POST数组中正确地解决它,所以如果我们在name="Next"调用元素Next ,我们应该使用$_POST['Next']而不是$_POST['soal']作为soalvalue属性,其中javascript应该用1或2等覆盖

$a = array("str1", "str2", "str3", "str4", "str5");

if (isset($_POST['Next']))
{
    $va = $_POST['Next'];
    print $a[$va];
}

I'm not 100% sure I grasped the intent of the question but I hope this might be more or less the desired outcome? 我不是百分百肯定我抓住了问题的意图,但我希望这可能或多或少是预期的结果?

Each click of the button increments the counter x and will send this value to the PHP script. 每次单击该按钮都会递增计数器x ,并将此值发送到PHP脚本。 The PHP script responds with the value from the array appropriate to the value of x PHP脚本使用适合x值的数组中的值进行响应

The ajax callback increments the variable and does other, really interesting, things. ajax回调会增加变量并执行其他非常有趣的事情。

<?php
    $a = array("str1", "str2", "str3", "str4", "str5");
    if (isset($_POST['soal'])){
        $va = $_POST['soal'];

        $response=( array_key_exists( $va, $a ) ) ? $a[ $va ] : 'error';
        exit( $response );
    }
?>
<!DOCTYPE html>
<html>
    <head>
        <title>Test-2019</title>
        <script>

            document.addEventListener('DOMContentLoaded', ()=>{

                let x=0;

                const ajax=function(payload,callback){
                    let xhr=new XMLHttpRequest();
                        xhr.onreadystatechange=function(){
                            if( this.status==200 && this.readyState==4 )callback.call( this, this.response );
                        }
                        xhr.open('POST', location.href, true );
                        xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                        xhr.send( payload );
                }
                const callback=function(r){
                    alert(r);
                    x++;
                    if( x==5 )x=0;
                }
                document.querySelector( 'form input[ type="button" ]' ).addEventListener('click', function(e){
                    ajax.call( this, 'soal=' + x, callback )
                });
            });

        </script>
    </head>
    <body>
        <form method='post'>
            <input type='button' value='Soal' />
        </form>
    </body>
</html>

暂无
暂无

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

相关问题 如何获取输入以及何时按下提交按钮将其置于变量中? - How to take an input and when the submit button is pressed put it into a variable? 当不使用提交按钮功能时,将Javascript变量传递回php - Passing a Javascript variable back to php, when no submit button functionality is used 从下拉列表中将选定的值分配给PHP变量onchange,而无需按html表单中的“提交”按钮? - Assigning a selected value from a dropdown list to a php variable onchange, without pressing submit button in a html form? 如何在不使用提交按钮的情况下从文本框中加载输入? JavaScript的? - How to load input from textbox without using submit button? javascript? 通过 javascript 将带有按钮的 PHP 变量传递给弹出窗口? - Pass PHP variable with button to popup via javascript? 通过提交按钮将PHP转换为JavaScript - PHP to JavaScript via Submit Button 如何在不重新加载页面的情况下使用javascript按钮单击更改php的变量 - how to change the variable of php with javascript button click without reloading the page 将PHP变量回显到按钮值,然后将按钮值发送到输入文本 - Echo PHP Variable to Button Value Then Send Button Value to Input text 变量作为JavaScript中的按钮值 - variable as button value in javascript (按钮||输入)type = submit-jQuery AJAX中$ _POST变量中缺少值 - (button || input) type=submit - missing value in $_POST variable in jQuery AJAX
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM