以表格的形式向用户询问金额和用户价值

时间:2018-11-15 18:16:09

标签: javascript wordpress input

我正在尝试在我的网站上集成名为SiamPay的付款方式,但我不知道javascript:(

在SiamPay网站上,他们有以下指示:

将以下程序代码复制到您的付款页面,然后 动态自己生成下面的金额显示

<form name="payForm" method="post" action="https://www.siampay.com/b2c2/eng/payment/payForm.jsp">
<input type="submit" name="submit" value="Buy">
<input type="hidden" name="amount" value="Amount">
<input type="hidden" name="merchantId" value="76117579">
<input type="hidden" name="orderRef" value="76117579">
<input type="hidden" name="currCode" value="764" >
<input type="hidden" name="successUrl" value="">
<input type="hidden" name="failUrl" value="">
<input type="hidden" name="cancelUrl" value="">
<input type="hidden" name="remark" value="">
<input type="hidden" name="lang" value="E">
<input type="hidden" name="payMethod" value="ALL">
</form>

jsp中的示例:

<% 
double amount = qty * unitPrice ;
%>

<form name="payForm" method="post" action="https://www.siampay.com/eng/payment/payForm.jsp">
<input type="submit" name="submit" value="Buy">
<input type="hidden" name="amount" value="<%= amount %>">
<input type="hidden" name="merchantId" value="76117579">
<input type="hidden" name="orderRef" value="76117579">
<input type="hidden" name="currCode" value="764" >
<input type="hidden" name="successUrl" value="">
<input type="hidden" name="failUrl" value="">
<input type="hidden" name="cancelUrl" value="">
<input type="hidden" name="remark" value="">
<input type="hidden" name="lang" value="E">
</form>

我想创建一个字段,用户可以在其中输入要用THB(泰国货币)支付的金额并将该值传输到该字段:     ”>。

我认为这相对容易,但是因为我从未使用过JavaScript,所以我有点困惑。

感谢您的帮助。

非常感谢您。

最好的问候, 亚历克斯

3 个答案:

答案 0 :(得分:1)

无需创建额外的输入字段。您必须将 name = amount 输入的类型更改为数字,以便用户可以看到。现在,用户可以输入自己选择的号码,然后点击“付款”按钮以提交付款表格。

using (var client = new WebClient())
{
        client.Headers.Add("Content-Type:application/octet-stream");
        client.Headers.Add("Origin:http://localhost:50920");
        client.Headers.Add("Access-Control-Allow- 
        Origin:http://localhost:9000");
        client.UseDefaultCredentials = true;
        client.Credentials = CredentialCache.DefaultCredentials;
}

答案 1 :(得分:0)

尝试这样的事情:

<form name="payForm" method="post" action="https://www.siampay.com/eng/payment

/payForm.jsp">
<input type="submit" name="submit" value="Buy">
<input type="hidden" id="amount" value="<%= amount %>">
<input type="hidden" name="merchantId" value="76117579">
<input type="hidden" name="orderRef" value="76117579">
<input type="hidden" name="currCode" value="764" >
<input type="hidden" name="successUrl" value="">
<input type="hidden" name="failUrl" value="">
<input type="hidden" name="cancelUrl" value="">
<input type="hidden" name="remark" value="">
<input type="hidden" name="lang" value="E">
</form>

<button id='cmdSend'>Click me</button> 
<input id='howmuch' type="number" name="amount" value=1000>

还有JS:

document.getElementById("cmdSend").addEventListener("click", myFunction);
function myFunction() {
    document.getElementById("cmdSend").innerHTML = "YOU CLICKED ME!";

    //Get the value the user typed:
    var Value = document.getElementById("howmuch").value;
    console.log(Value);

    //Set the value into the hidden input, can be done in 2 ways:
    document.getElementById("amount").value = Value;
    document.getElementById("amount").setAttribute('value',Value);

    //Check the value got assigned:
    console.log(document.getElementById("amount").value);
}

在这里拨弄:https://jsfiddle.net/s2ztkn8L/

答案 2 :(得分:0)

要为元素设置值,可以使用document.getElementById()。value函数。如下所示,将金额数据设置到Amount变量中。

#include <GL/glew.h>
#include <GLFW/glfw3.h>
#include <vector>
#include <iostream>
#include <cstdarg>

struct Program
{
    static GLuint Load( const char* shader, ... )
    {
        GLuint prog = glCreateProgram();
        va_list args;
        va_start( args, shader );
        while( shader )
        {
            const GLenum type = va_arg( args, GLenum );
            AttachShader( prog, type, shader );
            shader = va_arg( args, const char* );
        }
        va_end( args );
        glLinkProgram( prog );
        CheckStatus( prog );
        return prog;
    }

private:
    static void CheckStatus( GLuint obj )
    {
        GLint status = GL_FALSE;
        if( glIsShader(obj) ) glGetShaderiv( obj, GL_COMPILE_STATUS, &status );
        if( glIsProgram(obj) ) glGetProgramiv( obj, GL_LINK_STATUS, &status );
        if( status == GL_TRUE ) return;
        GLchar log[ 1 << 15 ] = { 0 };
        if( glIsShader(obj) ) glGetShaderInfoLog( obj, sizeof(log), NULL, log );
        if( glIsProgram(obj) ) glGetProgramInfoLog( obj, sizeof(log), NULL, log );
        std::cerr << log << std::endl;
        std::exit( EXIT_FAILURE );
    }

    static void AttachShader( GLuint program, GLenum type, const char* src )
    {
        GLuint shader = glCreateShader( type );
        glShaderSource( shader, 1, &src, NULL );
        glCompileShader( shader );
        CheckStatus( shader );
        glAttachShader( program, shader );
        glDeleteShader( shader );
    }
};

const char* vert = R"GLSL(
#version 330 core
layout( location = 0 ) in vec4 inPos;
layout( location = 1 ) in float inDist;
out float dist;
void main()
{
    dist = inDist;
    gl_Position = inPos;
}
)GLSL";

const char* frag = R"GLSL(
#version 330 core
in float dist;
out vec4 outColor;
void main()
{
    if( dist > 0.5 )
    {
        outColor = vec4( 1.0, 0.0, 0.0, 1.0 );
    }
    else
    {
        outColor = vec4( 0.0, 1.0, 0.0, 1.0 );
    }
}
)GLSL";

int main( int argc, char** argv )
{
    glfwInit();
    glfwWindowHint( GLFW_CONTEXT_VERSION_MAJOR, 3 );
    glfwWindowHint( GLFW_CONTEXT_VERSION_MINOR, 3 );
    glfwWindowHint( GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE );
    GLFWwindow* window = glfwCreateWindow( 640, 480, "GLFW", NULL, NULL );
    glfwMakeContextCurrent( window );
    glewInit();
    glfwSwapInterval( 1 );

    GLuint prog = Program::Load( vert, GL_VERTEX_SHADER, frag, GL_FRAGMENT_SHADER, NULL );
    glUseProgram( prog );

    GLuint vao = 0;
    glGenVertexArrays( 1, &vao );
    glBindVertexArray( vao );

    GLuint vbo0 = 0;
    glGenBuffers( 1, &vbo0 );
    glBindBuffer( GL_ARRAY_BUFFER, vbo0 );
    std::vector<float> data0 =
    {
        -0.5f, -0.5f,
         0.5f,  0.5f,
    };
    glBufferData( GL_ARRAY_BUFFER, data0.size() * sizeof( std::vector<float>::value_type ), data0.data(), GL_STATIC_DRAW );
    glVertexAttribPointer( 0 , 2, GL_FLOAT, GL_FALSE, 0, 0 );
    glEnableVertexAttribArray( 0 );

    GLuint vbo1 = 0;
    glGenBuffers( 1, &vbo1 );
    glBindBuffer( GL_ARRAY_BUFFER, vbo1 );
    std::vector<float> data1 =
    {
        0.0f, 1.0f,
    };
    glBufferData( GL_ARRAY_BUFFER, data1.size() * sizeof( std::vector<float>::value_type ), data1.data(), GL_STATIC_DRAW );
    glVertexAttribPointer( 1 , 1, GL_FLOAT, GL_FALSE, 0, 0 );
    glEnableVertexAttribArray( 1 );

    while( !glfwWindowShouldClose( window ) )
    {
        glfwPollEvents();

        int w, h;
        glfwGetFramebufferSize( window, &w, &h );
        glViewport( 0, 0, w, h );

        glClear( GL_COLOR_BUFFER_BIT );

        glUseProgram( prog );
        glBindVertexArray( vao );
        glDrawArrays( GL_LINES, 0, 2 );

        glfwSwapBuffers( window );
    }

    glfwDestroyWindow( window );
    glfwTerminate();
}

此外,修改输入标签的金额以包含相同的ID:

var Amount = 123;

<input type="hidden" name="amount" id="amtId" value="Amount">
var Amount = 123;

function setAmountValue() {
  document.getElementById('amtId').value = Amount;
}