2016-02-02 33 views
-1

內的數組數我有這樣的功能在這裏:確定一個功能

function nameSplit() { 
 
    var option_result = document.getElementById("fname").value; 
 
    var option_array=option_result.split(" "); 
 
    document.getElementById('first_name').value = option_array[0]; 
 
    document.getElementById('last_name').value = option_array[1]; 
 
} 
 
function myFunction() { 
 
    var option_result = document.getElementById("fname").value; 
 
    document.getElementById("demo").innerHTML = option_result.length; 
 
    document.getElementById("demo2").innerHTML = option_array.prototype.length; 
 
}
<form> 
 
    <label>Name:</label> 
 
    <input type="text" id="fname"> 
 
    <input type='button' onclick='nameSplit()' value='Change Text'/> 
 
</form> 
 
<br> 
 
    <input id="first_name" name="fid" value="" /> 
 
    <input id="last_name" name="sid" value="" /> 
 
<br> 
 
    option_result: <p id="demo"></p> 
 
    option_array: <p id="demo2"></p> 
 
    <button onclick="myFunction()">Try it</button>

正如你可以看到我的option_array.prototype.length;不返回任何東西。所以,我不知道解釋這一點的最好方式,但總之我想確定有多少陣列功能內有作爲在

document.getElementById('last_name').value = option_array[1]; 

被拉數我希望它像工作這樣的:

document.getElementById('last_name').value = option_array[(Number of total arrays)]; 

如果您運行的原始功能和類型「李四」,將其分割爲「約翰」和「李四」,但如果你輸入更改爲「李四小」它仍然會以「John」和「Doe」的形式返回。我想讓它返回「John」和「Doe Jr.」

我試圖創建一個運行option_array[1] + " " + option_array[2];的腳本,但如果一個人只使用數組的兩個部分,第三個返回未定義。

任何想法?

+0

你的innerhtml行是一個公平的調試嘗試,但他們似乎沒有做任何有用的事情。 (我不確定'prototype.length'行是否符合你的想法。)如果你爲'option_array.length'添加一個簡單的測試 - 檢查數組長度的常用方法? – usr2564301

+0

我試過option_array.length,我也得到一個空白的結果。 –

+0

當時正在發生某些事情。最好檢查一下(1)你的'option_array'是否可以進入這個函數,(2)* any * else * does *會出現在那個位置。請參閱[Mozilla的文檔](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length)查看數組長度的示例。 – usr2564301

回答

1

嗯,我認爲這個功能將檢索由我的辦公桌,我需要的信息,但我的老闆停止一個偉大的方式,告訴我有一個更簡單的方法,並給了我一些資料,做研究,所以我就去在建立一個新的..

這裏是任何有興趣的代碼:

function nameSplit() { 
 
     var first_name = document.getElementById("first_name"); 
 
     var last_name = document.getElementById("last_name"); 
 
     var fname = document.getElementById("fname"); 
 
     var myfname = fname.value.trim(); 
 
    if (myfname.indexOf(" ") < 0) 
 
    { 
 
     first_name.value = fname.value.trim(); 
 
     last_name.value = "Undefined"; 
 
    } else { 
 
     first_name.value = fname.value.substring(0, fname.value.indexOf(" ")); 
 
     last_name.value = fname.value.substring((fname.value.indexOf(" ") + 1), fname.value.length); 
 
    } 
 
}
<form> 
 
    <label>Name:</label> 
 
    <input type="text" id="fname"> 
 
    <input type='button' onclick='nameSplit()' value='Submit'/> 
 
</form> 
 
<br> 
 
    <input id="first_name" value="" /> 
 
    <input id="last_name" value="" />

感謝您的幫助@jongware