在表单action =中使用javascript和html表单输入

时间:2013-06-14 23:42:43

标签: javascript html

我有一个简单的表格。用户输入文本,我需要在表单的action属性中使用该文本。我还需要在表单属性action中使用JavaScript变量。我需要的另一件事是能够测试表单输入以确保它没问题。

<script>
function validate(form){
var formVal=document.forms["myForm"]["test"].value;

simple test code for formVal

return true;
}


var scrt_var=737; //I've got more code to get this variable, I've just hardcoded it for simplicity
</script>

<FORM name="myForm" method="POST" action='http://www.example.com/viewdetails.php?id='+how to get scrt_var + '&page=' + how to get the text input; onsubmit="return validate(this);">

<input type="text" name="test" value="">
<input type="submit" value="Submit">
</form>

那么如何在scrt_var属性中获取变量action以及输入的文本呢?

3 个答案:

答案 0 :(得分:1)

这是附加到表单onsubmit事件的简单事件侦听器。它简单地连接url字符串,输入值和scrt_var并将表单提交给给定的URL。

<script>
    var form=document.forms['myForm'];

    form.addEventListener('submit', function(){
        var testVal = this.elements['test'].value,
            scrt_var = 737;
        if(testVal){
            this.action = 'http://www.example.com/viewdetails.php?id=' + scrt_var + '&page=' + testVal;
            this.submit();
        }
    }, false);
</script>

    <form name="myForm" method="POST">
        <input type="text" name="test" value="">
        <input type="submit" value="Submit">
    </form>

我不知道你的意思是什么意思:“我需要的另一件事是能够测试表单输入以确保它没问题。” “Ok输入值”非常主观,取决于您想要实现的目标。您必须尝试自己验证它(例如,检查值是否为空);)

答案 1 :(得分:0)

我认为你应该使用jQuery。它更简单。 :)

使用jQuery:

function validiate(){
    //your validiation
    var testVal = $('#myForm #test').val();
    if(testVal == '' || testVal == ' '){
        alert('Not valid');   
    }else{
        $('#myForm').attr('action','yourUrl');
        $('body').append($('#myForm').attr('action'));
    }
    return true;
}

$('#myForm').submit(function(e){
    e.preventDefault();
    validiate();

演示: http://jsfiddle.net/kxaAn/

答案 2 :(得分:-1)

简单明了

<script>
function validate(){
formVal = document.getElementById('test').value;
var scrt_var=737;
document.forms["myForm"].action='http://www.example.com/viewdetails.php?id='+ scrt_var + '&page=' + formVal;
}

</script>

<FORM name="myForm" method="POST" action='http://www.example.com/viewdetails.php?id='+how to get scrt_var + '&page=' + how to get the text input; onsubmit="validate();">

<input type="text" id="test" value="">
<input type="submit" value="Submit">
</form>