1

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

<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以及输入的文本呢?

4

3 回答 3

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>

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

于 2013-06-14T23:53:07.347 回答
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/

于 2013-06-14T23:56:02.670 回答
-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>
于 2013-06-15T00:04:19.340 回答