我有 4 个可由最终用户填写的字段。我想通过电子邮件发送这些内容,但我不希望电子邮件中出现空格。我正在寻找的是一种忽略那些空字段并只返回那些有值(value)的字段的方法。我有这段代码,但它只返回最后一个值:
var Textbox = Browser.getValue("myTextBox");
var Field1 = Browser.getValue("myField1");
var Field2 = Browser.getValue("myField2");
var Field3 = Browser.getValue("myField3");
var Field4 = Browser.getValue("myField4));
if (Field1 != "" ){
Browser.setValue(TextBox), (Field1 += "\n" + Textbox));
}
if (Field2 != ""){
Browser.setValue(Textbox), (Field2 += "\n" + Textbox));
}
if (Field3 != ""){
Browser.setValue(Textbox), (Field3 += "\n" + Textbox));
}
if (Field4 != ""){
Browser.setValue(Textbox), (Field4 += "\n" + Textbox));
}
有人可以帮助我吗?我基本上需要更新每个语句后的文本框,并在下一个语句中仅使用 Javascript 使用。
提前谢谢
最佳答案
您似乎正在尝试执行以下操作。它遍历表单中的所有控件并获取所有不是初始值的值并将它们写入新行的文本区域。
<script>
// Collect all the non–default values in the form and write
// on new lines to the text area
function consolidateValues(form) {
// Get the textarea to write values to
var textArea = form.myTextBox;
// Get all controls in the form
var control, controls = form.elements;
// Variable to hold the consolidated value
var text = [];
// Collect all the values, skipping the first control
for (var i=1, iLen=controls.length; i<iLen; i++) {
control = controls[i];
if (control.value != control.defaultValue) {
text.push(control.value);
}
}
// write the value to the text area
textArea.value = text.join('\n');
// Stop form from submitting
return false;
}
</script>
<form onsubmit="return consolidateValues(this)">
<textarea name="myTextBox" size="100" rows="10"></textarea>
<br>
<input name="myField1">
<br>
<input name="myField2">
<br>
<input name="myField3">
<br>
<input name="myField4">
<br>
<input type="submit"> <input type="reset">
</form>
关于javascript - 如果字段为空则跳过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28827909/