我有一个简单的表格。用户输入文本,我需要在表单的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
以及输入的文本呢?
答案 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();
答案 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>