使用onClick提交PHP表单

时间:2016-09-01 05:13:20

标签: javascript php html

所以我目前在我的网站上有一个电子邮件地址的下载链接和输入字段。

要下载文件,首先需要输入电子邮件。

我使用表单执行此操作,电子邮件字段为输入字段,下载按钮为提交按钮。

我喜欢HTML5的表单验证(必填字段,字段类型等,一切看起来都很不错)。

问题是,如果我在提交按钮中使用onClick,那么没有一个好的表单验证工作。

public static Bitmap resizeAndCropCenter(Bitmap bitmap, int size, boolean recycle) {
    int w = bitmap.getWidth();
    int h = bitmap.getHeight();
    if (w == size && h == size) return bitmap;
    // scale the image so that the shorter side equals to the target;
    // the longer side will be center-cropped.
    float scale = (float) size / Math.min(w,  h);
    Bitmap target = Bitmap.createBitmap(size, size, getConfig(bitmap));
    int width = Math.round(scale * bitmap.getWidth());
    int height = Math.round(scale * bitmap.getHeight());
    Canvas canvas = new Canvas(target);
    canvas.translate((size - width) / 2f, (size - height) / 2f);
    canvas.scale(scale, scale);
    Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG | Paint.DITHER_FLAG);
    canvas.drawBitmap(bitmap, 0, 0, paint);
    if (recycle) bitmap.recycle();
    return target;
}

private static Bitmap.Config getConfig(Bitmap bitmap) {
    Bitmap.Config config = bitmap.getConfig();
    if (config == null) {
        config = Bitmap.Config.ARGB_8888;
    }
    return config;
}

这可能不是最干净的方法,所以如果你认为你知道更好的方式请告诉我:)

3 个答案:

答案 0 :(得分:2)

试试这段代码

swift/main

答案 1 :(得分:2)

试试这个:

<form onsubmit="download(this.email.value,this.system.value)" id="form">
    <input type="email" id="email" name="email" placeholder="Please enter email" required>
    <input type="radio" name="system" value="Win" required >Windows
    <input type="radio" name="system" value="Osx" >Osx
    <input type="submit" class="btn"  value="Download"> 
</form>

<script type="text/javascript">
document.getElementById("form").addEventListener("submit", function(event){
    event.preventDefault();
});

function download(email_value,sys_value){
    location.href='http://s/index.php?page=download'+sys_value+'&email='+email_value;
}
</script>

<强>结果:

enter image description here

答案 2 :(得分:2)

以下是工作代码段(不使用HTML5验证)。您可以运行并测试它。我使用了jqueryjquery.validate插件。您可以取消注释注释代码以将用户重定向到目标网址。如果您正在寻找或不寻找,请告诉我们。如果有任何您感到困惑的话,请随意发表评论。

$(document).ready(function(){
    $(".btn-download").on("click", function(e) {
    		e.preventDefault();
        e.stopImmediatePropagation();
      	if ($("#validateForm").valid()) {
            var name  = $(this).val();
            var email = $("#email").val();

            if (name === "Windows") {
                //location.href = 'http://s/index.php?page=downloadWin&email=' + email;
                console.log('http://s/index.php?page=downloadWin&email=' + email);
            }

            if (name === "Osx") {
                console.log('http://s/index.php?page=downloadOsx&email=' + email);
                //location.href = 'http://s/index.php?page=downloadOsx&email=' + email;
            }
        }            

    });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.15.1/jquery.validate.min.js"></script>
<form method="post" action="" id="validateForm" novalidate>
     <input type="email" id="email" placeholder="Please enter email" required>
     <input type="submit" name="btnSubmit" class="btn btn-download" value="Windows">
     <input type="submit" name="btnSubmit" class="btn btn-download" value="Osx">  
</form>